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

После Queue диалплан не выполняется.

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

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

mthawk
Сообщения: 17
Зарегистрирован: 30 сен 2010, 16:53

Re: После Queue диалплан не выполняется.

Сообщение mthawk »

По логике - оба абонент и агент queue положили трубку, звонок завершен (я провожу аналогии с Dial).
Почему в логе не появляется запись о том, что звонок COMPLETE?
И происходит это только когда заканчиваются все приорити экстена...

Как тогда обработать звонок? Получить данные / занести данные?
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: После Queue диалплан не выполняется.

Сообщение ded »

1. Использовать готовые наработки (выше указывалось какие)
2. Писать свои (AMI интерфейс и РНР)
mthawk
Сообщения: 17
Зарегистрирован: 30 сен 2010, 16:53

Re: После Queue диалплан не выполняется.

Сообщение mthawk »

ded, (2) - так именно этим и занимаюсь!
И вот такие возникают проблемы! Которыми делюсь тут!
И получаю рекомендации "Писать свои наработки" :))
Замкнутый круг какой-то.

И если уже кто-то это написал - значит это как-то выполняется.
У меня пока 3 варианта:
1 - заполнять недостающие данные из интерфейса просмотра при первом обращении к таблице.
2 - Использовать триггер sql на вставку в таблицу
3 - Из контекста h формировать call-файл, который запустит какой-то экстен, который запустит AGI, который заполнит необходимые данные.

И оба три :)) для меня выглядят невероятно костыльными.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: После Queue диалплан не выполняется.

Сообщение ded »

Если (2) то обсуждать можно свои конкретные костыли. Которые могут понять примерно такие-же нуждающиеся в костылях. Но они пишут свои костыли, обсуждать чужие - влом, так что или писать и разбираться в своих самому, или (1).

P.S. Забыл, ещё есть платный суппорт. В вашем случае - это дать задание на аутсорс.
mthawk
Сообщения: 17
Зарегистрирован: 30 сен 2010, 16:53

Re: После Queue диалплан не выполняется.

Сообщение mthawk »

ded, если бы наши предки искали кому бы дать задание на аутсорс, что бы не пробивать головой встающие перед ними проблемы - мы до сих пор бы бегали по каменистым пустыням и джунглям с палками наперевес :)

В общем какое-ни-какое а решение. Как это заработало у меня:

По методу, предложенному тут switch я сделал перенаправление queue_log в sql.
В экстене 'h' контекста для обработки очереди запускается AGI, который по uniqueid звонка заносит начальные данные в нужную мне таблицу из queue_log по событиям ENTERQUEUE и CONNECT (если имеется).
После чего формирует call-файл с вызовом Local/s@fixsupportcontext и передачей uniqueid через CALLERID(name).
Завершается.
В fixsupportcontext запускается другой AGI который получает uniqueid из calleridname, выбирает из queue_log появившиеся уже там данные и делает update нужной мне таблицы.

Экзотичность метода зашкаливает, но оно работает.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH