Подскажите,а где это вы настраиваете, в каком конфиге?
corsarik ( 2013-07-12 09:14:00 +0400 )редактироватьДобрый день. Имеется: Asterisk (Без всяких FreePBX, настроенный вручную конфигами). Имеются внутренние номера операторов call-центра. Звонки поступают операторам из очереди. Каждый оператор регистрируется в самонаписанном web-интерфейсе. Через этот web-интерфейс он осуществляет поиск по клиентской базе данных (в MySQL).
Цель: Передать в web-интерфейс внутренний номер, на который пришел входящий звонок из очереди, и номер звонящего абонента. Все должно быть в режиме real-time или по таймеру (например раз в 5 секунд).
С точки зрения веба для ваших целей - вебсокеты лучше чем ажакс определенно. Если интерфейс на PHP, то рекомендую обратить внимание на Ratchet http://socketo.me (там есть некоторые проблемы с обработкой сессий, но это уже скорее тема для другого портала). Точнее хорошо сработает сочетание Ratchet плюс Marcelog PAMI + Autobahn JS. Можно использовать другие библиотеки при желании или реализовывать стек и работу с Астериск менеджером самому. Если используется очередь то устанавливаете обработчик на AMI событие "AgentCalled", там-же увидите АОН. если все-таки остановитесь на ajax схеме и не захотите к примеру связываться с AMI, то смотрите CEL (Asterisk Channel Event Logging) - можно проставить метку времени для вновь добавляемых строк - default NOW() и выбирать только недавние события теоретически...
exten => s,n,Dial(SIP/101,30,tTM(incoming_answer^101))
[macro-incoming_answer]
exten =>s,1,System(/path/to/your/script/script.(php/py/sh) ${ARG1})
при ответе вызовется ваш скрипт которому передается в качестве аргумента ${ARG1} (то есть 101)
несколько аргументов соотвественно
exten => s,n,Dial(SIP/101,30,tTM(incoming_answer^101^${EXTEN}))
[macro-incoming_answer]
exten =>s,1,System(/path/to/your/script/script.py ${ARG1} ${ARG2})
и т.д. а в свой скрипт пишите бросалку запросов в ваш сервис или запись в БД или еще что
Подскажите,а где это вы настраиваете, в каком конфиге?
corsarik ( 2013-07-12 09:14:00 +0400 )редактироватьи очередь и диал вроде как умеют вызвать макрос по ответу, в котором собственно и дергается все что захочется.
FOP/FOP2 умеет вызывать ссылку по приходящему звонку. тоесть писать ничего не надо.
Кто нибудь реализовал сиё? Тоже понадобилось передавать номер входящего абонента на web-страницу...
corsarik ( 2013-07-08 15:01:36 +0400 )редактироватьчто там реализовывать. там в документации написано КАК.
meral ( 2013-07-08 21:40:57 +0400 )редактироватьВ самом астериске есть astman.js , рекомендую обратить внимание на его исходники и примеры к нему. Суть алгоритма довольно проста: 1. На странице , где сидит юзер запускается astman,js и инициализируется. 2. Ожидает нужного события (если из очереди, то AgentCalled, а если просто Dial, то по желанию от Ringing то Link,Bridge,etc.) 3. Выводит нужную информацию или как-то по-другому управляет броузером.
в доках много раз написано что это не для работы с оконечным пользователем через интернет. скорее такое подойдет для интеграции в nodejs. все-таки необходим промежуточный слой между юзером и Астером - нехорошо полагаться на Астеровский ACL для этой функции ИМХО...
octopas ( 2013-06-26 16:26:48 +0400 )редактироватьЗадан: 2013-06-22 01:30:41 +0400
Просмотрен: 2,101 раз
Обновлен: Jul 08 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.