Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Передача номера входящего абонента в WEB-страницу

0

Добрый день. Имеется: Asterisk (Без всяких FreePBX, настроенный вручную конфигами). Имеются внутренние номера операторов call-центра. Звонки поступают операторам из очереди. Каждый оператор регистрируется в самонаписанном web-интерфейсе. Через этот web-интерфейс он осуществляет поиск по клиентской базе данных (в MySQL).

Цель: Передать в web-интерфейс внутренний номер, на который пришел входящий звонок из очереди, и номер звонящего абонента. Все должно быть в режиме real-time или по таймеру (например раз в 5 секунд).

удалить закрыть спам изменить тег редактировать

спросил 2013-06-22 01:30:41 +0400

Николай Gravatar Николай
1 1 2

обновил 2013-06-22 01:31:14 +0400

5 Ответов

1

С точки зрения веба для ваших целей - вебсокеты лучше чем ажакс определенно. Если интерфейс на PHP, то рекомендую обратить внимание на Ratchet http://socketo.me (там есть некоторые проблемы с обработкой сессий, но это уже скорее тема для другого портала). Точнее хорошо сработает сочетание Ratchet плюс Marcelog PAMI + Autobahn JS. Можно использовать другие библиотеки при желании или реализовывать стек и работу с Астериск менеджером самому. Если используется очередь то устанавливаете обработчик на AMI событие "AgentCalled", там-же увидите АОН. если все-таки остановитесь на ajax схеме и не захотите к примеру связываться с AMI, то смотрите CEL (Asterisk Channel Event Logging) - можно проставить метку времени для вновь добавляемых строк - default NOW() и выбирать только недавние события теоретически...

ссылка удалить спам редактировать

ответил 2013-06-22 02:00:01 +0400

octopas Gravatar octopas
111 5 1 3

обновил 2013-06-22 02:51:42 +0400

0
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})

и т.д. а в свой скрипт пишите бросалку запросов в ваш сервис или запись в БД или еще что

ссылка удалить спам редактировать

ответил 2013-07-08 20:26:40 +0400

godlike Gravatar godlike flag of Ukraine
814 92 24 62

Comments

Подскажите,а где это вы настраиваете, в каком конфиге?

corsarik ( 2013-07-12 09:14:00 +0400 )редактировать
0

и очередь и диал вроде как умеют вызвать макрос по ответу, в котором собственно и дергается все что захочется.

ссылка удалить спам редактировать

ответил 2013-06-22 18:49:37 +0400

komrad123 Gravatar komrad123
3810 5 3 44

обновил 2013-06-22 18:49:51 +0400

0

FOP/FOP2 умеет вызывать ссылку по приходящему звонку. тоесть писать ничего не надо.

ссылка удалить спам редактировать

ответил 2013-06-22 12:41:21 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

как вариант можно подождать * 12 и stasis-http

octopas ( 2013-06-24 11:48:52 +0400 )редактировать

Кто нибудь реализовал сиё? Тоже понадобилось передавать номер входящего абонента на web-страницу...

corsarik ( 2013-07-08 15:01:36 +0400 )редактировать

что там реализовывать. там в документации написано КАК.

meral ( 2013-07-08 21:40:57 +0400 )редактировать
0

В самом астериске есть astman.js , рекомендую обратить внимание на его исходники и примеры к нему. Суть алгоритма довольно проста: 1. На странице , где сидит юзер запускается astman,js и инициализируется. 2. Ожидает нужного события (если из очереди, то AgentCalled, а если просто Dial, то по желанию от Ringing то Link,Bridge,etc.) 3. Выводит нужную информацию или как-то по-другому управляет броузером.

ссылка удалить спам редактировать

ответил 2013-06-26 09:45:01 +0400

rad Gravatar rad flag of Ukraine
106 5
http://www.pearlpbx.com/

Comments

в доках много раз написано что это не для работы с оконечным пользователем через интернет. скорее такое подойдет для интеграции в nodejs. все-таки необходим промежуточный слой между юзером и Астером - нехорошо полагаться на Астеровский ACL для этой функции ИМХО...

octopas ( 2013-06-26 16:26:48 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-06-22 01:30:41 +0400

Просмотрен: 2,101 раз

Обновлен: Jul 08 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.