Як зв’язати два asterisk-сервери - Kildekode
Отже, маємо два астериски. Завдання - організувати прямий додзвон через префікс туди і назад. Вихідні дані: Астеріск 1.4 на обох кінцях kazan.asterisk.ru - ім'я першого астериску. volgograd.asterisk.ru - ім'я другого астериску. Передбачається, що обидва астериски мають прямий вихід в інтернет (інакше теж проблем бути не повинно, потрібно налаштувати NAT і використовувати параметр nat = yes)
Нехай перший астериск у нас знаходиться в Казані, інший у Волгограді. Звернемося до автомобільних кодів регіонів. Тоді додзвон із Волгограда буде 9-16-. З Казані 9-34-.sip.conf 1-го астериску:[general] context=default allowguest=no bindport=5060 bindaddr=0.0.0.0
; налаштування для реєстрації на іншому астериск-сервері register => kazan:[email protected]:5060
[volgograd] ; логін та пароль для підключення username=volgograd secret=volgograd_password ; дозволяти вхідні та вихідні дзвінки type=friend
; не надсилати повторні повідомлення INVITE canreinvite=no ; Чи не вимагати доп. автентифікації insecure=very ; періодична перевірка доступності пристрою qualify=yes
; дозволяємо реєстрацію ; (www.voip-info.org): Якщо ви хочете, щоб телефон зареєстрував його, використовуючи word dynamic instead of Host IP. ; обмежити підключення можна через deny,permit host=dynamic
; налаштування кодеків disallow=all allow=alaw allow=ulaw
; до якого контексту потраплятимуть вхідні дзвінки context=office_rules
extension.conf 1-го астериску:; контекст для користувачів [office] exten => _934.,1,Set(CALLERID(all)="Kazan ") exten => _934.,n,Dial(SIP/$@volgograd,60,r) exten => _934.,n,HangUp ..
; контекст для вхідних дзвінків ; внутрішні номери мають вигляд 1XX або 2XX [office_rules] exten => _[12]XX,1,Dial(SIP/$,60,tTr) exten => _[12]XX,n,HangUp()
sip.conf 2-го астериску:[general] context=default allowguest=no bindport=5060 bindaddr=0.0.0.0
; налаштування для реєстрації на іншому астериск-сервері register => volgograd:[email protected]:5060
; credentials for registration username=kazan secret=kazan_password
; дозволяємо реєстрацію ; (www.voip-info.org): Якщо ви хочете, щоб телефон зареєстрував його, використовуючи word dynamic instead of Host IP. ; обмежити підключення можна через deny,permit host=dynamic
; не надсилати повторні повідомлення INVITE canreinvite=no ; Чи не вимагати доп. автентифікації insecure=very ; періодична перевірка доступності пристрою qualify=yes
; дозволені кодеки (тільки G711) disallow=all allow=ulaw allow=alaw
; у який контекст приймати дзвінки context=office_rules
extension.conf 2-го астериску:; контекст для користувачів [office] exten => _916.,1,Set(CALLERID(all)="Volgograd ") exten => _916.,n,Dial(SIP/$@kazan,60,r) exten => _916.,n,HangUp ..
; контекст для вхідних дзвінків ; внутрішні номери мають вигляд 1XX або 2XX [office_rules] exten => _[12]XX,1,Dial(SIP/$,60,tTr) exten => _[12]XX,n,HangUp()
PS. Буду вдячний порадам щодо розширення функціональності та безпеки.
upd: У будь-якому випадку, у плані аспекту безпеки, потрібно глянути це.