VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Оператор очереди ответивший на звонок

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
tyua
Сообщения: 43
Зарегистрирован: 02 апр 2013, 16:57

Оператор очереди ответивший на звонок

Сообщение tyua »

FreePBX 14, Asterisk 13. Нужно получить номер оператора поднявшего трубку.
Следующая конструкция чего-то не работает, хотя на другом сервере с Asterisk 1.8 аналогичный диалплан работает.

Код: Выделить всё

 [macro-answer-event-test]
exten => s,1,NoOp()
same => n,NoOp(${CDR(dstchannel)) ; Пусто

[test-queue]
exten => h,1,NoOp()
 same => n,NoOp(${CDR(dstchannel)) ; присутствует номер оператора

exten => _X.,1,NoOp()
 same => n,Answer()
 same => n,ResetCDR(w)
 same => n,Queue(1000,tT,,,20,,answer-event-test)
 same => n,Hangup()

Спасибо!
Аватара пользователя
Kroteg
Сообщения: 200
Зарегистрирован: 11 янв 2018, 13:51

Re: Оператор очереди ответивший на звонок

Сообщение Kroteg »

А может всё же ${CDR(channel)}
И, кстати, проверь все закрывающие скобки 8-)
Изображение
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Оператор очереди ответивший на звонок

Сообщение ded »

Вот что характерно:
берётся модерновая FreePBX 14, Asterisk 13, и тут же ломается об колено конструкциями типа

Код: Выделить всё

exten => _X.,1,NoOp()
same => n,Answer()
same => n,ResetCDR(w)
same => n,Queue(1000,tT,,,20,,answer-event-test)
same => n,Hangup()
Типа, мы сами знам что нам надо,, а вот этой круговерти макросов диалплана нам не нужно?

Вы потом будете удивляться - почему там-сям не работает?
Ущербно.

Сложность FreePBX и Asterisk только нарастает от версии к версии.
Обработка очередей принципиально сложнее, чем соединение входящих вызовов с экстенами. Поэтому и был придуман CEL, он точнее отражает все тонкости переключений операторов в очередях, и там видно кто взял трубку, кто не взял, и почему.
Вы же пытаетесь осмыслить сложность более высокого порядка исходя из своего уровня понимания процессов, это приведёт к внутреннему конфликту.
tyua
Сообщения: 43
Зарегистрирован: 02 апр 2013, 16:57

Re: Оператор очереди ответивший на звонок

Сообщение tyua »

Kroteg писал(а):А может всё же ${CDR(channel)}
Да, похоже в ${CDR(channel)} то что мне нужно. Спасибо.
ded писал(а):берётся модерновая FreePBX 14, Asterisk 13, и тут же ломается об колено

Обработка очередей принципиально сложнее, чем соединение входящих вызовов с экстенами. Поэтому и был придуман CEL
Из вашего ответа понял что нужно смотреть в сторону CEL. Буду изучать.
Но не совсем понял насчет ломания об колено.
Вы имеете ввиду что раз FreePBX, то и задачу нужно решать с его помощью?
Буду благодарен, если вы подскажете как мне выполнить AGI при ответе оператора в очереди.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Оператор очереди ответивший на звонок

Сообщение ded »

tyua писал(а):Вы имеете ввиду что раз FreePBX, то и задачу нужно решать с его помощью?
Да.
tyua писал(а):Буду благодарен, если вы подскажете как мне выполнить AGI при ответе оператора в очереди.
Вы не поверите, но вам не нужно выполнять AGI-скрипты при ответе оператора в очереди. Повторюсь, что Вы пытаетесь осмыслить сложность более высокого порядка исходя из своего уровня понимания процессов.

Вот подробный ответ - почему:
http://asterisk.ru/news/188
tyua
Сообщения: 43
Зарегистрирован: 02 апр 2013, 16:57

Re: Оператор очереди ответивший на звонок

Сообщение tyua »

ded писал(а):
tyua писал(а):Вы имеете ввиду что раз FreePBX, то и задачу нужно решать с его помощью?
Да.
Я правильно понимаю, что в FreePBX подобное делается с использованием существующих макросов, т.е. вклинивание в них?
Есть ли где почитать (кроме конфига FreePBX) об этих макросах?
ded писал(а): Вы не поверите, но вам не нужно выполнять AGI-скрипты при ответе оператора в очереди. Повторюсь, что Вы пытаетесь осмыслить сложность более высокого порядка исходя из своего уровня понимания процессов.
Да, но задачу мне нужно решить сейчас, с моим уровнем понимания процессов.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Оператор очереди ответивший на звонок

Сообщение ded »

tyua писал(а):Я правильно понимаю, что в FreePBX подобное делается с использованием существующих макросов, т.е. вклинивание в них?
Да. Но!
Очередь оперирует эвентами, которые специално то и пишутся не в CDR, а в CEL. А эвенты можно наблюдать и обрабатывать из ARI через web socket & stasis. Вашей целью вклинивания в макросы является выполнение AGI-скрипта по отсылке данных на какой-нить CRM, верно? Но звонок очереди путешествует не по правилам диал-плана, где вам хотелось бы вставить строку
same => n,AGI(mysuperscript.php{ARG1})
поэтому не надо пытаться вставлять AGI.
tyua писал(а):Есть ли где почитать (кроме конфига FreePBX) об этих макросах?
FreePBX 2.10 Руководство администратора (на русском языке, в формате PDF)
http://asterisk.ru/knowledgebase/books
tyua писал(а):Да, но задачу мне нужно решить сейчас, с моим уровнем понимания процессов.
Лучше всё же повысить уровень понимания.
tyua
Сообщения: 43
Зарегистрирован: 02 апр 2013, 16:57

Re: Оператор очереди ответивший на звонок

Сообщение tyua »

ded писал(а): Очередь оперирует эвентами, которые специално то и пишутся не в CDR, а в CEL. А эвенты можно наблюдать и обрабатывать из ARI через web socket & stasis. Вашей целью вклинивания в макросы является выполнение AGI-скрипта по отсылке данных на какой-нить CRM, верно? Но звонок очереди путешествует не по правилам диал-плана, где вам хотелось бы вставить строку
same => n,AGI(mysuperscript.php{ARG1})
поэтому не надо пытаться вставлять AGI.
Да, Вы правы, нужно всего лишь скриптом отправить данные по ссылке.
И сейчас мне кажется гораздо проще вставить в трех местах AGI.
Как я понял, с помощью ARI я не смогу выполнять что-то в определенный момент времени, нужно чем-то внешним отслеживать события и выполнять действие. Выглядит сложно.
ded писал(а): FreePBX 2.10 Руководство администратора (на русском языке, в формате PDF)
http://asterisk.ru/knowledgebase/books
Книгу почитаю, но кажется там только о web интерфейсе.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Оператор очереди ответивший на звонок

Сообщение ded »

1. Берёте любой макрос, полностью копируете из extensions_additional.conf в extensions_override_freepbx.conf
2. Вставляете нужные, по вашему разумению, строки,
3. PROFIT!
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH