First time here? Check out the FAQ!

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

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, пожалуйста подскажите...

спросил Jul 14 '11

deevil Gravatar deevil
1 1 4

обновил Jul 14 '11

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-шками.

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

ответил Jul 14 '11

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

обновил Jul 15 '11

Comments

Огромное спасибо. Но как я написал выше вариант с Event не подходит. Скрипт будет выполнятся по требованию. deevil (Jul 14 '11)edit
тогда звыняйте, а почему не подходит? cvieri (Jul 15 '11)edit
ну как объяснить скрипт, который я пишу - web сервис. я к нему подключаюсь из сторонней программы. А у сервисов соединение не висит постоянно. А есть ли какой нибудь способ записывать Event в базу Астериском (без доп. скриптов), как queue_log? deevil (Jul 15 '11)edit
так что мешает веб-сервису следить за Ивентами? У нас тоже есть вебсервис, мы так отслеживаем. cvieri (Jul 15 '11)edit
так он же не висит запущенный постоянно, он запускается по обращению к веб сервису, а за Event как я понимаю нужно следить постоянно и желательно записывать куда нибудь (в файл или БД) deevil (Jul 15 '11)edit
а какая загруженность атс? cvieri (Jul 15 '11)edit
что-то вроде 1000-1500 звонков в день (это по записям разговоров). и постоянный рост. сервер xeon-i5 первого поколения. deevil (Jul 15 '11)edit
ну тогда парсер, который постоянно записывает в мускл ИД и Статус, а веб-сервис уже проверяет. cvieri (Jul 15 '11)edit
это как бы очевидный вариант, я думал может есть встроенный в asterisk способ. а после какой нагрузки парсить будет не вариант? просто если я буду парсить, то все события сразу. deevil (Jul 15 '11)edit
Так все события зачем парсить? Парси только нужные, не вешай сервак лишним. cvieri (Jul 15 '11)edit
Мне нужно будет в дальнейшем снимать еще и другие параметры, которые в принципе можно и подругому снимать, например состояния связанные с агентами. поэтому чтобы не городить 2 демона лучше сразу 1 я думаю. Хотя странно что для queue log они сделали возможность записи в БД, а для event нет. deevil (Jul 15 '11)edit
следите за евентами. show channels начинает вести себя непредсказуемо если 100 звонков и его дергать. вплоть до задержек в 40 секунд. meral (Jul 17 '11)edit
а есть вообще вариант записывать лог/события в бд самим астериском? чтобы без парсеров. deevil (Jul 17 '11)edit
для твоего случая нельзя cvieri (Jul 18 '11)edit
а для какого можно? я просто не совсем понимаю что Вы имеете ввиду. deevil (Jul 18 '11)edit
0

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

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

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

ответил Jul 19 '11

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

Comments

насчет show channels объяснили, а вот насчет модуля что за модуль? (название или контакты, на чем написан c, php, ...) deevil (Jul 19 '11)edit
Есть модуль на ПХП, похожий, требует небольшой допилки, можем продать. cvieri (Jul 19 '11)edit
как он работает? парсит ивенты? или что то другое? просто покупать кота в мешке не хочется... deevil (Jul 19 '11)edit
он парсит выдачу астериска, при желании пару строк и он парсит ивенты. cvieri (Jul 19 '11)edit
главное ТЗ) cvieri (Jul 19 '11)edit
я правильно понял что этот скрипт парсит /var/log/asterisk/full ? deevil (Jul 19 '11)edit
не-не-не, он парсит АМИ cvieri (Jul 19 '11)edit
какова цена скрипта? deevil (Jul 19 '11)edit
стукни в скайп cvieri.lviv cvieri (Jul 19 '11)edit
что за модуль зависитот ТЗ. могу написать perl сервер который будет конектиться к астриску и парсить нужные евенты и держать список каналов в базе. по цене пишите ТЗ на email в профиле или контакты на сайте. meral (Jul 20 '11)edit
тоже самое, но скрипт на ПХП. Контакты выше. cvieri (Jul 20 '11)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Jul 14 '11

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

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

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