Страница 2 из 2
Re: SUBSCRIBE между двумя Астерисками
Добавлено: 23 окт 2015, 07:34
Pegasus
День добрый всем.
Очень хорошо, что вопрос мною не надуман и люди данным направлением интересуются. Но есть небольшое НО: появляется дополнительная сущность - брокер.
У меня мысль была проще. (Абонент1 зареган на астер1, абонент2 зареган на астер2, между астерами транк.) Абонент1 подписывается на состояние абонента2. Астериск1 видит что у него прописано exten => 222,hint,SIP/222@астериск2 и сам как клиент подписывается на состояние абонента2. При изменениях состояния абонента2 астериск2 рассылает notify, астериск1 в свою очередь рассылает notify всем подписавшимся на абонента2. Получается что-то типа проксирования.
Как мне кажется, проблем быть не должно и реализуется достаточно просто (поэтому и думал что оно уже есть в астере).
Может кто-то что-то подобное встречал???
ps ушел писать свой брокер
Re: SUBSCRIBE между двумя Астерисками
Добавлено: 23 окт 2015, 08:03
virus_net
Если бы такое было, то это сразу бы и посоветовали. Но такого нет.
P.S.
Pegasus писал(а):exten => 222,hint,SIP/222@астериск2
1. А если 222 будет и на этом сервере в нужном тебе контексте ?
2. Символ @ в названии ext не стоит использовать, т.к. у парсера Asterisk`а сносит крышу от этого, т.к. в строке появляется две @
Я, для начала, выбрал такой формат: НОМЕР*DNS_ИМЯ_СЕРВЕРА
Код: Выделить всё
[externalStates]
exten => _XXX*[a-z].,hint,Custom:${EXTEN}
exten => _XXX*[a-z].,1,NoOp(Call to ${CUT(EXTEN,*,1)} on ${CUT(EXTEN,*,2)})
....
Пока работает так, ну а потом посмотрим.
Код: Выделить всё
*CLI> core show hints
-= Registered Asterisk Dial Plan Hints =-
345*macs.domain.ru@externalStates : Custom:345*macs.doma State:Idle Watchers 1
....
Код: Выделить всё
== Extension Changed 345*macs.domain.ru[externalStates] new state InUse for Notify User 6003
345*macs.domain.ru@externalStates : Custom:345*macs.doma State:InUse Watchers 1
== Extension Changed 345*macs.gold-telecom.com[externalStates] new state Busy for Notify User 6003
345*macs.domain.ru@externalStates : Custom:345*macs.doma State:Busy Watchers 1
== Extension Changed 345*macs.domain.ru[externalStates] new state Idle for Notify User 6003
345*macs.domain.ru@externalStates : Custom:345*macs.doma State:Idle Watchers 1
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 23 окт 2015, 09:37
virus_net
ddkprog писал(а):конечно есть
И в какой же версии ? Пруф линк пожалуйста.
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 23 окт 2015, 16:54
virus_net
virus_net писал(а):ушел кодить
Накодил, работает как часики
Лампочки моргают, кнопочки нажимаются, красотааааааааа. И никаких тебе тяжелых надстроек из XMPP или второго аккаунта на других серверах.
Ещё раз спасибо
switch за идею, а
litnimax за размещение поста с этой идеей. Готов проставить вам пива, если вы в МСК
litnimax
Добавлено: 23 окт 2015, 18:10
litnimax
Я как-бы не только пост разместил с идеей, а готовый скрипт это реализующий
Ну да ладно, понятно что свое кодить прикольнее.
За пиво спасибо, буду мимо пролетать - наберу
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 23 окт 2015, 18:58
virus_net
litnimax писал(а):свое кодить прикольнее
Это так, но дело не только в этом. Зачем мне городить:
Requirements
Python 2.7.
System libs libzmq and libzmq-dev.
Python extension pyZMQ (python-zmq system packages or installed via pip).
Asterisk headers to compile res_zmq_manager (asterisk-dev package or sources).
Asterisk modules res_manager_devicestate.so and res_manager_presencestate.so.
С учетом того что у меня 1.8 и там res_manager_devicestate.so, res_manager_presencestate.so вообще нет.
Да и когда у меня у самого уже есть полностью готовая структура и схема, в которую нужно было просто новую команду добавить и усё.
Да и тем более, что ну не люблю я Python. PHP мне гораздо ближе.
litnimax писал(а):буду мимо пролетать - наберу
You are welcome
Пиши как что и когда
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 09 дек 2015, 15:46
virus_net
Наконец дошли руки и я
набросал статейку о своем пути в решении данного вопроса.
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 14 дек 2015, 08:02
awsswa
я правильно понял что ØMQ модуль только для asterisk для 12 и 13 версии ?
Re: Distributed Device State: SUBSCRIBE между двумя Астериск
Добавлено: 15 дек 2015, 08:02
virus_net
awsswa писал(а):я правильно понял что ØMQ модуль только для asterisk для 12 и 13 версии ?
В описании модуля и чуть выше
в этом топике приведены
Requirements. Соответственно он для той версии где есть необходимое.