Addpac+asterisk: несколько линий на вход и выход

В этой статье рассмотрю связку addpac’a и asterisk’a. К addpac’y подключены 3 линии. Разберёмся, как настроить так, что бы все входящие звонки приходили на один номер, а исходящие так же можно было осуществлять через эти 3 линии, причём, если занята первая, то звонок идёт через 2-ую, если 2-ая — то через 3-ю.

Тестовый стенд: FreeBSD 6.2, asterisk 1.4.18, addpac AP1100F, 3 медных линии.

IP(addpac)=10.10.10.1, IP(asterisk)=10.10.10.4

1) Настраиваем Addpac.

Что бы звонки с 3-их линий шли на один номер, нужно, что бы в настройках голосовых портов был указан один и тот же connection plar. Addpac будет звонить на аппарат с номером 501. В нашем случае это будет так (для этого мы используем первые 3 порта — 0/0,0/1,0/2):

! FXO
voice-port 0/0
connection plar 501
description line-1
timeout tterm 600
ring detect-timeout 40
caller-id enable
!
!
! FXO
voice-port 0/1
connection plar 501
description line-2
timeout tterm 600
ring detect-timeout 40
caller-id enable
!
!
! FXO
voice-port 0/2
connection plar 501
description line-3
timeout tterm 600
ring detect-timeout 40
caller-id enable

Настройка Pots peer для исходящих звонков (здесь используем параметр preference, который расставляет очерёдность):

dial-peer voice 0 pots
destination-pattern T
port 0/0
preference 1
huntstop
!
dial-peer voice 1 pots
destination-pattern T
port 0/1
preference 2
huntstop
!
dial-peer voice 2 pots
destination-pattern T
port 0/2
preference 3
huntstop

Остальные настройки:

! Voip peer configuration.
!
dial-peer voice 1000 voip
destination-pattern .T
session target sip-server
session protocol sip
codec g711alaw
dtmf-relay rtp-2833
no vad
huntstop

sip-ua
user-register
sip-server 10.10.10.4

Сохраняем конфигурацию.

2) Настраиваем asterisk.

В sip.conf добавляем пир addpac для исходящих звонков:

[addpac]
type=friend
host=10.10.10.1
nat=no
dtmfmode=rfc2833
context=default
disallow=all
allow=alaw

В extensions.conf, в контекст default добавляем такое (разрешаем исходящие звонки на город):

exten => _7XXXXX,1,Dial(SIP/addpac/${EXTEN},100)
exten => _7XXXXX,n,HangUp

Перечитываем конфиги и проверяем звонки.

3) Если вдруг что-то пошло не так.

Вот перечень возможных действий по выявлению неполадок:

— смотрим, зарегистрировался ли Addpac на asterisk’e. Делается это через sip show peers

— включаем дебаг на addpac’e и пробуем звонить:

# conf
(config)# debug-port
(config)# exit
# debug voip call ext

После этого на консоль посыпется детальный лог звонка.

— включить дебаг на Asterisk’e:

> sip debug ip 10.10.10.1

Опубликовано с разрешения журнала root.ua

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *