В этой статье рассмотрю связку 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