Asterisk и TDA — лепим горбатого

В прошлой статье я рассказал, как можно нормально соединить Asterisk и TDE по протоколу SIP. Но что делать, если в нашем распоряжении устаревшая TDA? Правильный ответ — сапгрейдить ее до TDE.
Но, ситуации бывают разные, если по каким-либо причинам апгрейд выглядит нецелесообразно, можете воспользоваться вредными советами из этого руководства.
Итак, в нашем распоряжении тот самый Астериск, с тем же адресом 192.168.1.204 и с тем же вэб-интерфейсом. Выбираем шлюз.
FXS или FXO?
Для начала маленький ликбез.
VOIP шлюз Dynamix-4FXO
FXO шлюзы подключаются к внутренним портам АТС, (в ортодоксальной телефонии именуемые EXT), FXS — к внешним (СО). Если решитесь на FXS учтите, что входящие звонки придется разруливать DISOй или живой секретаршей (а если у вас есть на это деньги, то вы уже знаете, на что их лучше потратить). В случае с FXO трудности будут со звонками в сторону Asterisk’а. Впрочем, в нашей сегодняшней лабораторной работе используется FXO, про то, как использовать FXS я расскажу в следующий раз.
Настройка шлюза
Итак, достаем с пыльной полки 4-х портовый FXO шлюз Dynamix-4FXOA (Welltech, NSgate).
В не зависимости от лэйба — это одна и та же китайская железка. Убеждаемся, что у нас самая свежая прошивка и настраиваем адреса и явки таким образом, что бы машинка с Астериском могла пинговать шлюз. В моем примере адрес шлюза 192.168.2.252 (Доступ к первой сети через Default Gateway). Теперь по порядку.
SIP Config
Mode: Proxy
Primary Proxy IP Address: 192.168.1.204
Primary Proxy port: 5060
Secondary Proxy IP Address: null
Secondary Proxy port: 5060
Outbound Proxy: null
Outbound Proxy port: 5060
Prefix String: null
Line1 Number: utda
Line2 Number: utda
Line3 Number: utda
Line4 Number: utda
SIP port: 5060
RTP Port: 16384
Expire: 60

Security Config
Line1 Account: utda
Line1 Password: utda
Line2 Account: utda
Line2 Password: utda
Line3 Account: utda
Line3 Password: utda
Line4 Account: utda
Line4 Password: utda
Line Configuration, для разнообразия, картинкой
Dynamix-4fxoa. Line Configuration
 
System Configuration
Keypad Type: RFC2833
Caller ID Type: None (Если цепляете шлюз к 177 плате, можете поиграться с FSK)
Inter Digit Time: 3
Ring Time: 200 ms
Ring Before Answer: 1
Flash Time( 1~200, 1->10ms): 30
FXO dial DTMF delay(0~10s): 1
No RTP Received Interval: 30 s
End of Dial: Disable
Silence Detection: Disable
Current Drop: Enable
Fixed DTMF Tone: Disable
Disconnect(no rtp received for more than "interval" second): Enable
Cid change: Disable
Detect Polarity Reverse: Disable
Voice Setting. Тут надо смотреть, вернее слушать. Иногда лучше слышно на 729 кодеке, но, если позволяет канал, попробуйте сначала так:
Dynamix-4fxoa. Voice Configuration
А вот для нормальной работы с факсами лучше вообще запретить все кодеки, кроме G.711.
При этом еще нужно будет отключить T.38. Что делается только через telnet двумя командами:
support -t38 0
support -t38ecm 0
После чего еще нужно будет набрать
commit
для сохранения настройки и
reboot
для перезагрузки шлюза.
Tone Setting. Влияет на то, как шлюз будет ловить отбой и прочие аналоговые свисты. Для TDA (UA) прекрасно подходит следующая табличка:
Dynamix-4fxoa. Tone Configuration
Остальные настройки шлюза можно не трогать. Жмем «Commit Data» и перегружаем девайс.
А пока он моргает светодиодами, быстренько настроим Астериск.
Настройка Астериска
Первым делом добавляем транк.
Максимально каналов ставим 4
Название транка: utda
Опции для PEER
context=from-internal
host=dynamic
qualify=yes
secret=utda
type=friend
username=utda
disallow=all
allow=alaw&ulaw&g729
dtmfmode=rfc2833
canreinvite=no
nat=no
Теперь надо добавить маршрут. Из предыдущей статьи вы помните, что внутренние номера абонентов Астериска у нас 2XX. Но, давайте их немножко подвинем: 200-279 отдадим счастливым пользователям TDA, а 280-299 — продвинутым юзерам Asterisk’а. Соответственно, наш маршрут (назовем его ToTda) будет выглядеть так:

Название маршрута: ToTda
Внутренний маршрут в компании: Да (ставим галку)
Шаблон номера 2[01234567]X
Последовательность выбора транка: SIP/utda

Если все сделано правильно, на Флэш-панели FreePbx должна засиять кнопочка utda, а на закладке «Line Configuration» нашего шлюза поле «Registration» всех линий измениться на «Registered». Если это не так, ищите ошибку, ну а мы переходим к настройке TDA.
Настройка TDA
Версия станции у меня 3.2, если у вас прошивка поновее, номера пунктов меню могут не совпадать. Но смысл, конечно, останется. Первым делом нужно создать ICD-группу с типом распределения «Поиск по приоритету». Делается это в п. 3.5.1 консоли:
KX-TDA Maintenance Console [3.5.1 Настройки группы]
Затем жмем кнопочку «Абон. группы» и вписываем туда 4 эктсеншена, к которым мы подключили 4 FXO порта нашего шлюза.

Теперь приступаем к экспериментам. Звоним с SIP-телефона на номер нашей TDA. Должно получиться.

Теперь пробуем позвонить обратно. Для этого набираем 608, ждем, пока шлюз снимет трубку и донабираем нужный номер. Вот тут нас и ожидают «приятные» сюрпризы. Можно открыть консоль Астериска и увидеть, что приходят совсем не те цифры, которые мы набираем на аппарате. В результате, мы или не дозваниваемся, или дозваниваемся, но не туда. Особенно часто шлюз проглатывает цифру «2». Тем не менее, звонки абонентам Астериска настроить можно. Идем в п. 2.6.2 консоли и заполняем табличку быстрого набора:
KX-TDA Maintenance Console [2. Система - 6. План нумерации - 2. Быстрый набор номера]
Внести нужно номера собственных абонентов Астериска, а так же абонентов TDE, которых мы без мучений приобщили к VOIP-телефонии в предыдущей статье. Увы, запрограммировать таким образом можно лишь 80 номеров. Зато, звонить им можно без всяких предварительных кодов, и двойка не проглатывается! Объяснение этому следующее — в самой TDA гораздо более качественный DTMF генератор, чем в телефонном аппарате. Полученный сигнал понимает даже дешевый мультибрендовый шлюз.
Заключение
Подведем итоги: Абоненты самого Астериска и дружественных АТС могут прозрачно звонить на внутренние номера TDA. Абоненты TDA могут звонить лишь на 80 предопределенных номеров Астериска.

Обсудить статью, задать вопросы автору можно на форуме.
Любое использование материалов данной статьи возможно, лишь при обязательном указании ссылки на первоисточник.
Впервые статья была опубикована по адресу: http://pbx.gal.cv.ua/asterisk-tda
После переезда на esmdr.com ее новый адрес -