Уважаемые специалисты. Хочу поделиться своим решением данной задачи. Возможно, эти наработки будут полезны. Вероятно, не все красиво с точки зрения высокого искусства, но система живая и сейчас проходит обкатку в реальных условиях. Буду благодарен за любую конструктивную критику или советы по оптимизации.
Есть офис с TDA200 в конфигурации 16 аналоговых городских линий, из которых под номера используются 12, а 4 свободны, 80 внутренних, используется около 60. Есть удаленная территория порядка 20 абонентов, на которую проброшена компьютерная сеть по оптике. Задача: малой кровью подключить эту территорию к станции, чтобы звонили на короткие номера в офис и на город через офис - же, а офис мог звонить и переключать звонки к ним тоже на короткие номера.
При кажущейся простоте задачи, варианты решения после просчетов оказывались либо дорогими, типа установки плат 16 IP телефонов в АТС за 2 килобакса штука, или прямого проброса линия в линию с помощью оборудования от Cisco тоже за серьезную сумму, либо невыполнимыми – прокладка 20 парки через улицу по недружественным укртелекомовским колодцам и рытье траншей. Решено было подать туда телефоны по IP и использовать для этих целей бесплатный Астериск (Elastix). Загвоздка оставалась в связке его и АТС, ибо полностью перейти на IP офис не готов.
Красивое решение связки АТС – Астериск через платы PRI скрепя сердце тоже не приняли, ввиду того, что планировали использовать для Астериска виртуальную машину на сервере офиса, а как поведет себя плата Digium TE121 (600 уе) в виртуальной среде внятно никто сказать не мог. Использование же внешней коробки PRI to IP сразу влетало в 1400 уе. Что в сумме с платой TDA-0290 для АТС опять подходило под 2000 уе.
Было решено использовать связку на дешевых коробках Linksys SPA3102 (1 FXS, 1 FXO) в количестве 4 штук по цене до 80 баксов. Подключив их портами FXS к четырем свободным входным портам АТС, а портами FXO к 4 свободным внутренним портам той - же АТС. Допустили, что по 4 канала в каждую сторону будет достаточно для работы, а нарастить, в случае необходимости, можно в дальнейшем. Астериск развернули в офисе на сервере, выделив ему виртуальную машинку с 1 ядром и 2 гигами оперативки. И началась настройка. Не буду описывать поиски информации в Интернете, кто пытался найти там что-то полезное - знает, что приходится перелопатить кучи мусора, чтобы найти зерно. В сухом остатке получаем следующее:
Настраиваю TDA200 через PBX Unified Maintenance Console.
1.1 - Вкладка 2.6.1. Main подвкладка Extension удаляю из 4 строки 4 ку. Для офиса оставляю номера начинающиеся с 1, 2, и 3, для территории отдаю 4ХХ.
1.2 - Вкладка 2.6.1. Main подвкладка Features в строке Idle Line Acsess перед 9 ставлю * получается *9. (отключаю выход в город через 9 автоматом, потом настрою вручную, это надо чтобы правильно занимались городские линии)
1.3 - Вкладка 2.6.2. Quick Dial в первой строке пишу в колонке Dial - 9 в колонке Phone Number - 801. (теперь, набрав 9, выходим в город только через 1 группу внешних линий). Во второй строке пишу в колонке Dial - 4 в колонке Phone Number - 8024. (Таким образом, абонент АТС набирая, например 401, выходит через вторую группу внешних линий 802 на Extension Астериска (4 донабирается, а 01 абонент набирает руками) сразу на нужный внутренний номер).
1.4 - Вкладка 2.7.1. COS Settings – в нужной строке (у меня и по умолчанию 1) включаю Transfer To CO – Enable. Разрешаю переводить входные звонки на абонентов Астериска через внешние линии.
1.5 - Вкладка 10.1. CO Line Settings выделяю линии к которым подключены коробки SPA3102 в группу 2 у меня CO1-CO4, остальные остаются в группе 1.
1.6 – Вкладка 1.1 Slot на изображении платы внешних линий правой кнопкой мыши Port Property LCO Port. Установил SPS Signal Detection Time в 240 мс в обоих колонках. Для линий подключенных к коробкам обязательно, для остальных я тоже включил. Будем ловить отбой линии без покупки отбойников.
Если надо пробросить город на территорию напрямую - делаю следующее
1.7 - Вкладка 3.5.1 Group Settings подвкладка Overflow Queuing Busy выбираю любую пустую группу, например 664 и пишу в графе Destination Day 802401, где 802 выход на 2 группу внешних линий а 401 внутренний номер абонента. Для ночного режима соответственно, если надо. В графе Queuing Capacity выбрал «None» - переход сразу. Во вкладке 10.2 Dil Table в подвкладке Dil в графе Day указал 664 в качестве группы приема звонка с нужной мне линии. Если надо больше линий пробросить – операцию повторить.
Настраиваю Астериск ( Elastix 2.4.0. скачал с их сайта) через ВЕБ интерфейс.
Все происходит во вкладке PBX, PBX Configuration. IP адрес Астериска 10.0.10.34.
2.1 – пункт Extensions. Создаю SIP Extensions с номерами 401-420 для абонентов. Все по умолчанию, пароль (secret) в зависимости от степени паранойи у меня 7 знаков.
2.2 – пункт Extensions . Создаю SIP Extensions с номерами 496-499 для коробок тоже все по умолчанию. Например для Extensions 496: User Extension – 496, Display Name – 496, SIP Alias – 496, пароль соответственно.
2.3 – пункт Trunks Создаю 4 SIP транка для коробок с именами SPA_01 – SPA_04. Дальше на примере 1 транка. Все по умолчанию до раздела Outgoing Settings. В нем Trunk Name: SPA_01, в PEER Details внести следующие строки –
type=friend
host=10.0.10.33
port=5061
dtmfmode=rfc2833
context=from-pstn
qualify=60
Где 10.0.10.33 адрес 1 коробки. В остальных транках будут отличаться только имена и адреса коробок.
2.4 – пункт Outbound Routes удаляю предустановленный маршрут 9_outsaid и создаю новый с именем SPA_Route. В нем все по умолчанию, кроме - Dial Patterns that will use this Route
1 - (prеpend) + (prefix) | [( 9 ) / (4[0-8]X )] – транслируем выход через 9 на АТС.
2 - (prеpend) + (prefix) | [( [1-3]XX ) / (4[0-8]X )] – транслируем короткие номера типа 101, 201, 301 на АТС.
В качестве Trunk Sequence for Matched Routes выбираю все свои транки SPA_01 – SPA_04.
Примечание: 4[0-8]X это запрет выхода на АТС номеров типа 490-499. Было замечено, что если городской звонок, зашедший или переведенный из офиса в Астериск перевести обратно в АТС – это не только занимает лишние линии связи, но и намертво завешивает их, после того как разговор окончен. Шаманить по этому пункту было лень, решил просто закрыть.
Это все по Астериску но для любознательных, если есть желание прозваниваться в Астериск не только через Extensions но и через транки - можно сделать следующее:
2.5 – пункт Inbound Routes создаются маршруты с именами From_SPA_01 - From_SPA_04 где в Caller ID Number: пишем номер типа 7777771 – 7777774, а в качестве Set Destination указываем куда хотим принять тот или иной звонок. Например на Extensions 401 – 404.
Настраиваю SPA3102.
Обязательно прошить свежей прошивкой с сайта LinkSys версии 5.2.13. Из коробки не все работает, в частности не отправляет CPC, и завешивает линии.
Показываю на примере 1 коробки с IP адресом 10.0.10.33.
3.1 – Подключаем коробку портом WAN в сеть (LAN нужен только для настроек, в дальнейшем не используется). Подключаем порт Phone к нужной CO линии АТС у меня CO1, подключаем порт Line к внутренней линии АТС у меня 169.
3.2 – Заходим в настройки коробки через ВЕБ. Включаем режимы Admin и Advanced. Раздел Router настроите самостоятельно, там все просто, главное для WAN получить или вписать статически нужный IP (у меня 10.0.10.33).
3.3 – В разделе Voice вкладка Regional ставлю в строках CPC Delay – 0 (не факт что нужно, но я поставил, когда игрался и не убрал), CPC Duration – 0.99. Посылаем АТС сигнал отбоя длительностью 0.99 сек. См. п. 1.6 там мы ловим длительность не менее 0.24. Что нас вполне устраивает.
3.4 – Вкладка Line 1 указываю Nat Mapping Enable – no, Nat Keep Alive Enable – no. Proxy – 10.0.10.34 (Астериск ). Register – yes. Display name – 496, User ID – 496 (SIP Alias соответствующего Extensions в Астериске п. 2.2), Password – пароль соответствующего Extensions в Астериске. Dial plan - (xx.S0). Остальное по умолчанию.
3.5 – Вкладка PSTN Line указываю Nat Mapping Enable – no, Nat Keep Alive Enable – no. Proxy – 10.0.10.34 (Астериск ). Register – no. Make Call Without Reg – yes. Ans Call Without Reg – yes. Эти 3 пункта обязательно, так как мы не используем регистрацию на этой линии. Display name – SPA_01, User ID – SPA_01 (взято с потолка), Dial plan 7 - (xx.<:@gw0>|9<:@gw0>). Отправляем все номера более 2 цифр и отдельно 9 ки на порт FXO. Dial Plan 8 - (S0<:7777771) Отправляем входящие на FXO звонки на транк Астериска с донабором 7777771 для Inbound Routes п. 2.5. VoIP-To-PSTN Gateway Enable – yes. Line 1 VoIP Caller DP – 7 (7 строка таблицы Dial plan 7), VoIP Caller Default DP – 7. Line 1 Fallback DP – 7. (возможно не обязательно). PSTN-To-VoIP Gateway Enable – yes. PSTN Ring Thru Line 1 – no (иначе коробка будет звонить с входа на свой же выход). PSTN CID For VoIP CID – yes. PSTN Caller Default DP – 8 (8 строка таблицы Dial plan . PSTN Answer Delay – 3.5 (все умные источники советуют). Остальное по умолчанию. Вероятно что-то можно пошаманить на тему отлова отбоя от станции в разделе PSTN Disconnect Detection, но у меня ничего путного не вышло, справился см. примечание к п. 2.4.
Аналогично оставшиеся 3 коробки с соответствующими поправками.
.
Благодарю за внимание.