На тему установки и настройки IP АТС на базе ПО Asterisk написано очень много статей. Но, в большинстве своем, эти статьи сводятся к компьютеру, линуксу и топтанию клавиатуры в command line этого самого линукса. Я хочу рассказать про одно замечательное устройство, на котором, с установкой и настройкой Asterisk, справится абсолютно любой пользователь. Это сетевой накопитель D-Link DNS-345 с Add-On (дополнением) MicroPBX.
Зачем нужна IP АТС ? Конечно же для экономии денег на телефонных разговорах, гибкости системы в настройке и работе, огромных функциональных возможностях и т.п. На сегодняшний день все крупные операторы подключают телефоны как классическим способом (по тел. кабелю), так и средствами IP-телефонии (по протоколу SIP).
Примеры подключения и работы подобных систем:
http://dlink.ua/voip_solutions_5
http://dlink.ua/voip_solutions_3
http://dlink.ua/voip_solutions_2
Как показано на рисунке выше, лучше использовать гибридную схему – часть телефонов по SIP, часть классически – по меди. Этот вариант потребует дополнительных затрат, как минимум, на покупку VoIP FXO шлюза (на картинке D-Link DVG-3016S). Но гибридная система дает значительно бОльшую надежность – в случае «падения» Интернета будут работать аналоговые линии, а при обрыве тел. кабеля – SIP линии. Как говорится, надежность требует жертв.
Но вернемся к главному герою этой статьи – сетевому накопителю D-Link DNS-345. В чем же его прелесть ? Ну, по сравнению с ближайшими конкурентами – это конечно цена. По функциональным возможностям и производительности – не хуже более дорогих коллег, а некоторых функциональных вещей у большинства конкурентов и нет. Например поддержка GSM-модемов с голосовыми функциями в качестве GSM-шлюзов. К примеру GSM шлюз Sprut Universal стоит ~250$, а 3G модем с голосовыми функциями Huawei E1550 ~40$.
Предвосхищая заявления «да я астериск, с поддержкой Huawei E1550, на роутере за 40$ могу поднять» хочу сказать, что реализовать все возможности полноценного NAS (Network Attached Storage) на роутере просто не возможно. Точнее возможно, но какая у него будет производительность ? Учитывая то, что HDD подключается только USB’шный, с соответствующей скоростью чтения/записи, а ОЗУ на роутере, как правило, не более 32М. Т.е. роутер с таким же как у NAS ПО будет постоянно находиться в вечном свопе со всеми вытекающими. DNS-345 имеет 512М ОЗУ. Процессор на роутере в лучшем случае 600МГц, у DNS-345 – 1,6ГГц. Я сам как-то поднимал Asterisk + Huawei1550 на роутере и хорошо знаком с возможностями подобной системы, подходящей разве что для дома, но никак, даже для небольшого, офиса.
И так, приступим к настройке. Для начала скачайте Add-On MicroPBX Asterisk 1.8.15-cert. Брать тут:
http://dlink.vtverdohleb.org.ua/Add-On/
Перейдите в раздел «Management / Application Management / Add Ons» и установите Add-On «DNS-345 Asterisk18 Package…».
Сообщения «Сторонний Add-On…» не пугайтесь, нажмите Yes.
После завершения установки запустите Add-On кнопкой Start. В пакет включены драйвера голосовых USB-модемов, поэтому рекомендуется, перед установкой Add-On’а, вставить модем в USB порт NAS’а. USB-порт DNS-345 слабоват, поэтому подключать модем нужно через USB-HUB с внешним питанием.
Но перед тем, как подключить модем к NAS’у, нужно пройти, наверно самую сложную в настройке АТС, процедуру – перевод модема в режим Modem Only. Для этого подключите модем к компьютеру и, с помощью любой терминальной программы, введите AT-команды изменения режима работы. Как терминал можно использовать, например, PuTTY (http://www.putty.org/). Как «попасть» на модем на картинках ниже.
В терминале введите «в слепую» команду «ATE1» и нажмите Enter. Последующий ввод будет отображаться на экране. Далее введите:
AT^U2DIAG=0
AT&W
Все, модем готов к работе, можно его переключать в DNS-345.
Запустите Add-On «Asterisk 1.8 cert1», перейдите в раздел Applications и откройте веб-интерфейс Asterisk.
По умолчанию логин/пароль – admin/admin
Не забывайте нажимать кнопку «Apply Changes» в правом верхнем углу интерфейса!
Про настройки Asterisk писать не буду, возможности веб-интерфейса достаточно подробно расписаны тут:
http://service.d-link.ua/node/50
Расскажу только про базовую настройку GSM-шлюза. Для начала создайте базовый «Dial Plan», заведите пользователей, с привязкой к этому Dial Plan’у, и объедините пользователей в одну группу вызова (Ring Groups).
Проверим, правильно ли определился модем. Для этого зайдите в раздел «Options / Advanced Options» и включите «Расширенные настройки». После этого перейдите в раздел «Asterisk CLI» и дайте команду «datacard show devices». Если увидите такое, как на картинке ниже, это означает, что модем системой не подхватился.
Причин может быть много, например модем, по какой-то причине, не перешел в режим Modem Only и система его видит не как голосовой модем, а как USB-HDD. В этом случае, к сожалению, без ковыряния во внутренностях линукс-системы, разобраться в причине вряд ли получится.
Но будем исходить из лучшего – модем определился и вы увидели такую картинку
Настроим входящие GSM звонки. Перейдите в раздел File Editor и откройте файл «extensions.conf». Если Ring Group создана, последней строкой будет раздел «[ringroups-custom-1]».
Откройте контекст «default» и впишите в него следующие 2 строки:
exten = s,1,NoOp(all_ring)
include = ringroups-custom-1
Нажмите кнопку Apply Changes. Все, входящие звонки работают.
Теперь перейдем к настройке исходящих звонков. Создайте транк для исходящих. Hostname можно ввести любой не существующий IP-адрес, например 192.168.255.255
В логах будет появляться строка
[Mar 14 20:39:06] NOTICE[1869]: chan_sip.c:13390 sip_reg_timeout: -- Registration for 'datacard-out@192.168.255.255' timed out, trying again (Attempt #2)
На это можно не обращать внимание. Второй вариант – через File Editor открыть файл users.conf и закомментировать или удалить строку «host = 192.168.255.255».
Создайте правило для исходящих звонков в разделе «Outgoing Calling Rules».
Pattern для любого вызываемого номера – «_X.». Если нужно заворачивать в GSM только определенные номера, можно прописать свою маску
В Dial Plan’е разрешить использование исходящего направления «gsm_out».
Перейдите в раздел File Editor и откройте файл «extensions.conf». Если «Outgoing Calling Rules» создана, предпоследней строкой будет контрекст «[CallingRule_gsm_out]». Вместо содержимого CallingRule_gsm_out впишите следующее:
exten=_X.,1,Dial(Datacard/datacard0/${EXTEN},300,trR)
exten=s,n,Hangup
Нажмите кнопку «Apply Changes» в правом верхнем углу интерфейса
На этом все, базовая настройка закончена. Как уже говорилось в начале, с подробной инструкцией по настройке остальных функций Asterisk через Web-GUI можно ознакомиться на http://service.d-link.ua/node/50