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

Distributed Device State: SUBSCRIBE между двумя Астерисками

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

Re: SUBSCRIBE между двумя Астерисками

Сообщение Pegasus » 23 окт 2015, 08:34

День добрый всем.

Очень хорошо, что вопрос мною не надуман и люди данным направлением интересуются. Но есть небольшое НО: появляется дополнительная сущность - брокер.
У меня мысль была проще. (Абонент1 зареган на астер1, абонент2 зареган на астер2, между астерами транк.) Абонент1 подписывается на состояние абонента2. Астериск1 видит что у него прописано exten => 222,hint,SIP/222@астериск2 и сам как клиент подписывается на состояние абонента2. При изменениях состояния абонента2 астериск2 рассылает notify, астериск1 в свою очередь рассылает notify всем подписавшимся на абонента2. Получается что-то типа проксирования.
Как мне кажется, проблем быть не должно и реализуется достаточно просто (поэтому и думал что оно уже есть в астере).
Может кто-то что-то подобное встречал???

ps ушел писать свой брокер :-)
Pegasus
 
Сообщений: 20
Зарегистрирован: 30 янв 2013, 18:04

Re: SUBSCRIBE между двумя Астерисками

Сообщение virus_net » 23 окт 2015, 09:03

Если бы такое было, то это сразу бы и посоветовали. Но такого нет.

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
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение virus_net » 23 окт 2015, 10:37

ddkprog писал(а):конечно есть

И в какой же версии ? Пруф линк пожалуйста.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение virus_net » 23 окт 2015, 17:54

virus_net писал(а):ушел кодить

Накодил, работает как часики :) Лампочки моргают, кнопочки нажимаются, красотааааааааа. И никаких тебе тяжелых надстроек из XMPP или второго аккаунта на других серверах.

Ещё раз спасибо switch за идею, а litnimax за размещение поста с этой идеей. Готов проставить вам пива, если вы в МСК :!: ;)
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

litnimax

Сообщение litnimax » 23 окт 2015, 19:10

Я как-бы не только пост разместил с идеей, а готовый скрипт это реализующий :-)
Ну да ладно, понятно что свое кодить прикольнее.
За пиво спасибо, буду мимо пролетать - наберу ;-)
Аватар пользователя
litnimax
 
Сообщений: 111
Зарегистрирован: 01 июн 2011, 22:13

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение virus_net » 23 окт 2015, 19:58

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 ;) Пиши как что и когда :)
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение virus_net » 09 дек 2015, 16:46

Наконец дошли руки и я набросал статейку о своем пути в решении данного вопроса.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение awsswa » 14 дек 2015, 09:02

я правильно понял что ØMQ модуль только для asterisk для 12 и 13 версии ?
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2389
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Distributed Device State: SUBSCRIBE между двумя Астериск

Сообщение virus_net » 15 дек 2015, 09:02

awsswa писал(а):я правильно понял что ØMQ модуль только для asterisk для 12 и 13 версии ?

В описании модуля и чуть выше в этом топике приведены Requirements. Соответственно он для той версии где есть необходимое.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Пред.

Вернуться в Вопросы новичков

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

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

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