ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Проблемы и их решения Asterisk как такового

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

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

Сообщение tyua » 20 сен 2018, 12:00

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()



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

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

Сообщение Kroteg » 20 сен 2018, 12:51

А может всё же ${CDR(channel)}
И, кстати, проверь все закрывающие скобки 8-)
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 195
Зарегистрирован: 11 янв 2018, 14:51

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

Сообщение ded » 20 сен 2018, 13:13

Вот что характерно:
берётся модерновая 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, он точнее отражает все тонкости переключений операторов в очередях, и там видно кто взял трубку, кто не взял, и почему.
Вы же пытаетесь осмыслить сложность более высокого порядка исходя из своего уровня понимания процессов, это приведёт к внутреннему конфликту.
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение tyua » 20 сен 2018, 13:29

Kroteg писал(а):А может всё же ${CDR(channel)}

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

Обработка очередей принципиально сложнее, чем соединение входящих вызовов с экстенами. Поэтому и был придуман CEL


Из вашего ответа понял что нужно смотреть в сторону CEL. Буду изучать.
Но не совсем понял насчет ломания об колено.
Вы имеете ввиду что раз FreePBX, то и задачу нужно решать с его помощью?
Буду благодарен, если вы подскажете как мне выполнить AGI при ответе оператора в очереди.
tyua
 
Сообщений: 43
Зарегистрирован: 02 апр 2013, 16:57

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

Сообщение ded » 20 сен 2018, 16:57

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

Вот подробный ответ - почему:
http://asterisk.ru/news/188
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение tyua » 20 сен 2018, 17:49

ded писал(а):
tyua писал(а):Вы имеете ввиду что раз FreePBX, то и задачу нужно решать с его помощью?
Да.

Я правильно понимаю, что в FreePBX подобное делается с использованием существующих макросов, т.е. вклинивание в них?
Есть ли где почитать (кроме конфига FreePBX) об этих макросах?

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

Да, но задачу мне нужно решить сейчас, с моим уровнем понимания процессов.
tyua
 
Сообщений: 43
Зарегистрирован: 02 апр 2013, 16:57

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

Сообщение ded » 20 сен 2018, 18:58

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 писал(а):Да, но задачу мне нужно решить сейчас, с моим уровнем понимания процессов.
Лучше всё же повысить уровень понимания.
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение tyua » 21 сен 2018, 10:46

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 интерфейсе.
tyua
 
Сообщений: 43
Зарегистрирован: 02 апр 2013, 16:57

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

Сообщение ded » 21 сен 2018, 11:14

1. Берёте любой макрос, полностью копируете из extensions_additional.conf в extensions_override_freepbx.conf
2. Вставляете нужные, по вашему разумению, строки,
3. PROFIT!
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH