Подключаем телефон

Если транки VOIP провайдеров еще можно подключить к TDE через родной DSP процессор, с телефонами дело обстоит гораздо хуже. Встроенные лицензии на SIP-абонентов отсутствуют.
Что ж, будем подключаться через шлюз. В моем случае номера абонентов TDE начинаются с единички. Для sip абонентов выделяем диапазон 4XX.
Сначала внесем соответствующие изменения в настройки АТС Panasonic.
В "плане нумерации" (Меню 2.6.1) на вкладке "Основное" удаляем 4-ку из Схемы нумерации внутренних линий. Там же, но на вкладке "Внутренняя линия другой АТС" вписываем 4 в одну из строк:
Внутренняя линия другой УАТС
Теперь в 9.1-Таблица соединительных линий указываем группу внешних линий для "четверошных" номеров, и добавляемый номер:
9.1 Таблица соединительных линий
В "добавляемый номер" пишем номер, по которому никогда не звонят ваши абоненты, напирмер пять нулей. Группа внешних линий - это та группа, в которую входят все линии вашей платы потока. Если не знаете, можно подсмотреть в 10.1, последняя колонка "Номер группы СО". У меня 3.
Последний штрих - добавляем 000004XX в 3.1.4 - План набора номера:
3.1.4 План набора номера

Переходим к настройке шлюза.
Идем в уже знакомое меню Alvis Gateway/SIP Peers/Endpoints и добавляем первый номер, как показано на картинке:
Setup SIP phone
Name - номер телефона, у нас 401. Password - пароль, 1234567 - в последнем поле будем использовать как исходящий CallerID при внешних вызовах (аналог ISDN Clip в панасониках).

Правим маршруты:

; *********************** ALVIS GW-2-E1 DIALPLAN DEFINITION **************************
[from-pstn]
exten => _X.,1,Noop(PSTN: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _X.,n,Goto(to-e1-pbx,${EXTEN},1)

[from-internal]
exten => _4XX,1,Noop(Internal-Internal: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _4XX,n,Dial(SIP/${EXTEN}@${EXTEN})
exten => _4XX,n,Hangup()

exten => _XXX,1,Noop(Internal: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _XXX,n,Goto(from-e1-pbx,${EXTEN},1)
exten => _XXX,n,Hangup()

exten => _9X.,1,Noop(Internal (9): Calling from ${CALLERID(num):1} to ${EXTEN})
exten => _9X.,n,Set(CALLERID(num)= ${CDR(accountcode)})
exten => _9X.,n,Goto(from-e1-pbx,${EXTEN:1},1)
exten => _9X.,n,Hangup()


[from-e1-pbx]
exten => _000004XX,1,Noop(To Alvis Ext: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _000004XX,n,Dial(SIP/${EXTEN:5}@${EXTEN:5},,M(ast2rtp))
exten => _000004XX,n,Hangup()

exten => _1XX,1,Noop(To PBX Ext: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _1XX,n,Goto(to-e1-pbx,${EXTEN},1)
exten => _1XX,n,Hangup()

exten => _00X./1234567,1,Noop(PBX->zadarma-ved: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _00X./1234567,n,Macro(ast2rtp-prep)
exten => _00X./1234567,n,Dial(SIP/${EXTEN:2}@zadarma-ved,,M(ast2rtp))
exten => _00X./1234567,n,Hangup()

exten => _00X.,1,Noop(PBX->zadarma-prmn: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _00X.,n,Macro(ast2rtp-prep)
exten => _00X.,n,Dial(SIP/${EXTEN:2}@zadarma-prmn,,M(ast2rtp))
exten => _00X.,n,Hangup()

exten => _X.,1,Noop(PBX-PSTN: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _X.,n,Goto(to-pstn,${EXTEN},1)

[from-zadarma]
exten => _XXXXXX,1,Noop(SIP: Calling from ${CALLERID(num)} to ${EXTEN})
exten => _XXXXXX,n,Goto(to-e1-pbx,${EXTEN},1)
exten => _XXXXXX,n,Hangup()

; ************************* DIFFERENT DIRECTIONS DEFINITIONS ************************
; SIP -> PRI calls E1 Li#0 - From E1 PBX Li#1
[to-pstn]
exten => _X.,1,Macro(ast2rtp-prep)
exten => _X.,n,Dial(DAHDI/g0/${EXTEN},,M(ast2rtp))
exten => _X.,n,Hangup()

include => ast2rtp-hangup

[to-e1-pbx]
exten => _X.,1,Macro(ast2rtp-prep)
exten => _X.,n,Dial(DAHDI/g1/${EXTEN},,M(ast2rtp))
exten => _X.,n,Hangup()

include => ast2rtp-hangup

[sip2dahdi]
exten => _X.,1,Macro(ast2rtp-prep)
exten => _X.,n,Dial(DAHDI/g0/${EXTEN},,M(ast2rtp))
exten => _X.,n,Hangup()

include => ast2rtp-hangup

[default]

exten => _X.,1,Hangup()

В контекст [from-e1-pbx] мы добавили маршруты для внутренних номеров Панасоника, и SIP - телефонов, подключаемых к Alvis`у. Кроме того, для сип-телефонов создан контекст , в котором обеспечиваются вызовы между внутренними телефонами, и установка правильного CallerID для внешних вызовов.

С настройками АТС и шлюза все.
Напоследок, скриншот настроек популярного софтфона Zoiper.
Zoiper sip phone
В поле Домен вписываем адрес шлюза Alvis, остальное и так ясно. Можно звонить. Для звонка внутренним абонентам просто набираем номер, вызовы "наружу" - через 9-ку.