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

Asterisk AMI как узнать что канал находится на удержании?

0

Ситуация такая:

Elastix 2.0, Asterisk 1.6.

Необходимо из стороннего php скрипта узнать по номеру extension caller id звонящего. Вопрос решился через "core show channels concise". (По требованию, Event не подходят). Все хорошо получается, находим channel связанный с extension, смотрим с каким channel он связан и смотрим caller id в этом канале. Но вот незадача когда с extension связано больше чем один channel, то тяжело определить с каким именно он разговаривает. Например, если один channel на удержании, а со вторым идет разговор, то невозможно понять какой на удержании.

Если есть вариант как нибудь узнать что канал на удержании или другой способ определения caller id с которым разговаривает extension, пожалуйста подскажите...

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

спросил 2011-07-14 23:01:20 +0400

deevil Gravatar deevil
1 1 4

обновил 2011-07-14 23:05:23 +0400

2 Ответа

1

Выдержка из АМИ

Event: Link
Privilege: call,all
Channel1: SIP/750-09b23340
Channel2: SIP/SIM_21-b7b16110
Uniqueid1: 1310678202.771
Uniqueid2: 1310678202.772
CallerID1: 750
CallerID2: 0676813ХХХ

Event: Hold
Privilege: call,all
Channel: SIP/750-09b23340
Uniqueid: 1310678202.771

Ответ: Следите за ID-шками.

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

ответил 2011-07-15 01:05:07 +0400

cvieri Gravatar cvieri
673 12 4 21
http://www.qcall.com.ua/

обновил 2011-07-15 10:30:07 +0400

Comments

Огромное спасибо. Но как я написал выше вариант с Event не подходит. Скрипт будет выполнятся по требованию. deevil ( 2011-07-15 02:20:58 +0400 )редактировать
тогда звыняйте, а почему не подходит? cvieri ( 2011-07-15 09:08:50 +0400 )редактировать
ну как объяснить скрипт, который я пишу - web сервис. я к нему подключаюсь из сторонней программы. А у сервисов соединение не висит постоянно. А есть ли какой нибудь способ записывать Event в базу Астериском (без доп. скриптов), как queue_log? deevil ( 2011-07-15 10:25:26 +0400 )редактировать
так что мешает веб-сервису следить за Ивентами? У нас тоже есть вебсервис, мы так отслеживаем. cvieri ( 2011-07-15 10:26:21 +0400 )редактировать
так он же не висит запущенный постоянно, он запускается по обращению к веб сервису, а за Event как я понимаю нужно следить постоянно и желательно записывать куда нибудь (в файл или БД) deevil ( 2011-07-15 10:49:14 +0400 )редактировать
а какая загруженность атс? cvieri ( 2011-07-15 10:55:51 +0400 )редактировать
что-то вроде 1000-1500 звонков в день (это по записям разговоров). и постоянный рост. сервер xeon-i5 первого поколения. deevil ( 2011-07-15 11:10:51 +0400 )редактировать
ну тогда парсер, который постоянно записывает в мускл ИД и Статус, а веб-сервис уже проверяет. cvieri ( 2011-07-15 11:18:05 +0400 )редактировать
это как бы очевидный вариант, я думал может есть встроенный в asterisk способ. а после какой нагрузки парсить будет не вариант? просто если я буду парсить, то все события сразу. deevil ( 2011-07-15 11:24:45 +0400 )редактировать
Так все события зачем парсить? Парси только нужные, не вешай сервак лишним. cvieri ( 2011-07-15 15:09:20 +0400 )редактировать
Мне нужно будет в дальнейшем снимать еще и другие параметры, которые в принципе можно и подругому снимать, например состояния связанные с агентами. поэтому чтобы не городить 2 демона лучше сразу 1 я думаю. Хотя странно что для queue log они сделали возможность записи в БД, а для event нет. deevil ( 2011-07-15 19:18:20 +0400 )редактировать
следите за евентами. show channels начинает вести себя непредсказуемо если 100 звонков и его дергать. вплоть до задержек в 40 секунд. meral ( 2011-07-17 13:55:02 +0400 )редактировать
а есть вообще вариант записывать лог/события в бд самим астериском? чтобы без парсеров. deevil ( 2011-07-17 15:09:30 +0400 )редактировать
для твоего случая нельзя cvieri ( 2011-07-18 11:42:29 +0400 )редактировать
а для какого можно? я просто не совсем понимаю что Вы имеете ввиду. deevil ( 2011-07-18 11:52:06 +0400 )редактировать
0

есть вариант заказать у профессионалов модуль, который будет "сразу в бд" складывать. и выдавать нужную вам инфу.

show channels постоянно использовать не советую. ибо начинает глючить с 100-го или 1000-го раза...особенно если много звонков.

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

ответил 2011-07-19 11:50:10 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Comments

насчет show channels объяснили, а вот насчет модуля что за модуль? (название или контакты, на чем написан c, php, ...) deevil ( 2011-07-19 11:53:02 +0400 )редактировать
Есть модуль на ПХП, похожий, требует небольшой допилки, можем продать. cvieri ( 2011-07-19 11:59:49 +0400 )редактировать
как он работает? парсит ивенты? или что то другое? просто покупать кота в мешке не хочется... deevil ( 2011-07-19 12:02:05 +0400 )редактировать
он парсит выдачу астериска, при желании пару строк и он парсит ивенты. cvieri ( 2011-07-19 12:10:40 +0400 )редактировать
главное ТЗ) cvieri ( 2011-07-19 12:18:19 +0400 )редактировать
я правильно понял что этот скрипт парсит /var/log/asterisk/full ? deevil ( 2011-07-19 12:33:28 +0400 )редактировать
не-не-не, он парсит АМИ cvieri ( 2011-07-19 12:42:00 +0400 )редактировать
какова цена скрипта? deevil ( 2011-07-19 12:42:59 +0400 )редактировать
стукни в скайп cvieri.lviv cvieri ( 2011-07-19 12:49:33 +0400 )редактировать
что за модуль зависитот ТЗ. могу написать perl сервер который будет конектиться к астриску и парсить нужные евенты и держать список каналов в базе. по цене пишите ТЗ на email в профиле или контакты на сайте. meral ( 2011-07-20 17:47:20 +0400 )редактировать
тоже самое, но скрипт на ПХП. Контакты выше. cvieri ( 2011-07-20 20:40:31 +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 ленту новостей

Статистика

Задан: 2011-07-14 23:01:20 +0400

Просмотрен: 1,473 раз

Обновлен: Jul 19 '11

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