Связь двух серверов Asterisk по IAX2
03.08.2015 - 08:32
Есть 2 voip сервера A и B, необходимо увязать их между собой для входящих и исходящих звонков. Я выбрал протокол IAX2, На обеих серверах необходимо открыть UDP 4569.
Сервер A:
/etc/asterisk/iax.conf
[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
;сервер принимающий
[servera]
type=user
username=usr2ndx
secret=CVCbhDsugV
auth=plaintext
host= ip адресс ;разрешаем подключение с моего сервера B
context=for-office
qualify=yes
trunk=yes
;клиент запрашивающий
[usr2ndx1]
type=peer
username=serverb
secret=CVCbhDsugV1
auth=plaintext
host= ip адресс ;подклоючаемся к IAX2 серверу B
context=for-office
qualify=yes
trunk=yes
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
;сервер принимающий
[servera]
type=user
username=usr2ndx
secret=CVCbhDsugV
auth=plaintext
host= ip адресс ;разрешаем подключение с моего сервера B
context=for-office
qualify=yes
trunk=yes
;клиент запрашивающий
[usr2ndx1]
type=peer
username=serverb
secret=CVCbhDsugV1
auth=plaintext
host= ip адресс ;подклоючаемся к IAX2 серверу B
context=for-office
qualify=yes
trunk=yes
/etc/asterisk/extensions.conf
exten => 203,1,Dial(IAX2/usr2ndx1/${EXTEN},30,m)
exten => 203,n,Hangup()
exten => 203,n,Hangup()
Сервер B:
/etc/asterisk/iax.conf
[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
;клиент запрашивающий
[usr2ndx]
type=peer
username=servera
secret=CVCbhDsugV
auth=plaintext
host= ip адресс ; подключаемся к серверу A
context=out-local
qualify=yes
trunk=yes
;сервер принимающий
[serverb]
type=user
username=usr2ndx1
secret=CVCbhDsugV1
auth=plaintext
host=ip адресс ;разрешаем подключение с сервера A
context=out-local
qualify=yes
trunk=yes
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
;клиент запрашивающий
[usr2ndx]
type=peer
username=servera
secret=CVCbhDsugV
auth=plaintext
host= ip адресс ; подключаемся к серверу A
context=out-local
qualify=yes
trunk=yes
;сервер принимающий
[serverb]
type=user
username=usr2ndx1
secret=CVCbhDsugV1
auth=plaintext
host=ip адресс ;разрешаем подключение с сервера A
context=out-local
qualify=yes
trunk=yes
/etc/asterisk/extensions.conf
exten => _911,1,Dial(IAX2/usr2ndx/${EXTEN},30,m);
exten => _911,n,Hangup
exten => _911,n,Hangup
- Войдите на сайт для отправки комментариев
- Версия для печати
Можно ли в Dial прописать вместо ${EXTEN} номер дозвона?
Да, конечно.
Интересно. Сам буду такое скоро делать, но в документации для маршрутизации звонков с сервера на сервер нашел упоминание директивы switch. Кажется с её помощью должно получится красивее.