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

AMI сгенерировать собственный Event

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

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

Ответить
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

AMI сгенерировать собственный Event

Сообщение svd »

Ситуация следующая...

Написал небольшую програмулину... работает через ами интерфейс... слушает некоторые события...
создал пользователя, настроил фильтр... долетают только нужные, но...
программа запущена на нескольких ПК...
и во в некоторый момент времени появляется необходимость, по клику пользователя, оповестить других подключенных клиентов, об этом действии.
так как программа подключена только к AMI интерфейсу городить другие каналы взаимодействия не хочется. Хочу сгенерировать Event с парой параметров, которые получат другие подключенные программы.

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

подскажите как это сделать правильно

в догонку... использую AsterNET библиотеку
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: AMI сгенерировать собственный Event

Сообщение virus_net »

Не согласен с подобными реализациями и не считаю их правильными.
На мой взгляд предоставление прямого подключения пользователя к AMI не правильно и небезопасно.
ИМХО правильно:
AMI <-> Свой собственный сервер <-> Пользователи.
В кач-ве клиента может выступать браузер пользователя и общаться с ним через Websocket.

В вашем случае и варианте реализации можно попробовать использовать:
Asterisk manager API UserEvent
UserEvent: Send an arbitrary event (Priv: user,all)
Asterisk cmd UserEvent
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: AMI сгенерировать собственный Event

Сообщение ded »

Поддерживаю.
Чем больше, оказывается, свободы выбора (в случае с Open Source software), тем более нелепые комбинации придумываются.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: AMI сгенерировать собственный Event

Сообщение svd »

про промежуточный сервер - согласен...
но данное решение задумывалось как однопользовательское или 2 пользовательское...
а начало разрастаться.

если проект получит развитие, собственный промежуточный сервер предусмотрю, а пока
попробую предложенное virus_net

http://www.voip-info.org/wiki/view/Aste ... +UserEvent
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: AMI сгенерировать собственный Event

Сообщение svd »

собственно пользовательский эвент генерировать так


Action: UserEvent
Privilege: user,all
UserEvent: MyEvent
DID=vasya


увидим в AMI

Event: UserEvent
Privilege: user,all
UserEvent: MyEvent
Action: UserEvent
Privilege: user,all
DID=vasya

а дальше те кто нуно пущай получают сообщение типа UserEvent: MyEvent с параметром DID=vasya параметры можно менять и пополнять
обязательное только начало

Action: UserEvent
Privilege: user,all
UserEvent: MyEvent
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: AMI сгенерировать собственный Event

Сообщение svd »

virus_net -у респект, работает схема. ответ в кассу, считаю + в карму :D
virus_net писал(а):Не согласен с подобными реализациями и не считаю их правильными.
На мой взгляд предоставление прямого подключения пользователя к AMI не правильно и небезопасно.
ИМХО правильно:
AMI <-> Свой собственный сервер <-> Пользователи.
В кач-ве клиента может выступать браузер пользователя и общаться с ним через Websocket.

В вашем случае и варианте реализации можно попробовать использовать:
Asterisk manager API UserEvent
UserEvent: Send an arbitrary event (Priv: user,all)
Asterisk cmd UserEvent
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH