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

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

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

Модератор: april22

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

Сообщение svd » 10 июн 2015, 20:44

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

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

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

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

в догонку... использую AsterNET библиотеку
svd
 
Сообщений: 165
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск

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

Сообщение virus_net » 11 июн 2015, 08:08

Не согласен с подобными реализациями и не считаю их правильными.
На мой взгляд предоставление прямого подключения пользователя к 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 или sip:dn@postmet.com
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

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

Сообщение ded » 11 июн 2015, 10:20

Поддерживаю.
Чем больше, оказывается, свободы выбора (в случае с Open Source software), тем более нелепые комбинации придумываются.
ded
 
Сообщений: 13408
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение svd » 11 июн 2015, 20:56

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

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

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

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

Сообщение svd » 24 июн 2015, 22:13

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


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
 
Сообщений: 165
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск

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

Сообщение svd » 21 июл 2016, 00:31

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

В вашем случае и варианте реализации можно попробовать использовать:
Asterisk manager API UserEvent
UserEvent: Send an arbitrary event (Priv: user,all)

Asterisk cmd UserEvent
svd
 
Сообщений: 165
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск


Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 1

© 2008 — 2018 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH