пятница, 15 марта 2013 г.

Что нам стоит АТС построить!

 

На тему установки и настройки 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

clip_image002

Как показано на рисунке выше, лучше использовать гибридную схему – часть телефонов по 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…».

clip_image004

Сообщения «Сторонний Add-On…» не пугайтесь, нажмите Yes.

clip_image006

После завершения установки запустите Add-On кнопкой Start. В пакет включены драйвера голосовых USB-модемов, поэтому рекомендуется, перед установкой Add-On’а, вставить модем в USB порт NAS’а. USB-порт DNS-345 слабоват, поэтому подключать модем нужно через USB-HUB с внешним питанием.

Но перед тем, как подключить модем к NAS’у, нужно пройти, наверно самую сложную в настройке АТС, процедуру – перевод модема в режим Modem Only. Для этого подключите модем к компьютеру и, с помощью любой терминальной программы, введите AT-команды изменения режима работы. Как терминал можно использовать, например, PuTTY (http://www.putty.org/). Как «попасть» на модем на картинках ниже.

clip_image008clip_image010

В терминале введите «в слепую» команду «ATE1» и нажмите Enter. Последующий ввод будет отображаться на экране. Далее введите:

AT^U2DIAG=0

AT&W

Все, модем готов к работе, можно его переключать в DNS-345.

Запустите Add-On «Asterisk 1.8 cert1», перейдите в раздел Applications и откройте веб-интерфейс Asterisk.

clip_image012

По умолчанию логин/пароль – admin/admin

clip_image014

Не забывайте нажимать кнопку «Apply Changes» в правом верхнем углу интерфейса!

clip_image016

Про настройки Asterisk писать не буду, возможности веб-интерфейса достаточно подробно расписаны тут:

http://service.d-link.ua/node/50

Расскажу только про базовую настройку GSM-шлюза. Для начала создайте базовый «Dial Plan», заведите пользователей, с привязкой к этому Dial Plan’у, и объедините пользователей в одну группу вызова (Ring Groups).

clip_image018

Проверим, правильно ли определился модем. Для этого зайдите в раздел «Options / Advanced Options» и включите «Расширенные настройки». После этого перейдите в раздел «Asterisk CLI» и дайте команду «datacard show devices». Если увидите такое, как на картинке ниже, это означает, что модем системой не подхватился.

clip_image020

Причин может быть много, например модем, по какой-то причине, не перешел в режим Modem Only и система его видит не как голосовой модем, а как USB-HDD. В этом случае, к сожалению, без ковыряния во внутренностях линукс-системы, разобраться в причине вряд ли получится.

Но будем исходить из лучшего – модем определился и вы увидели такую картинку

clip_image022

Настроим входящие GSM звонки. Перейдите в раздел File Editor и откройте файл «extensions.conf». Если Ring Group создана, последней строкой будет раздел «[ringroups-custom-1]».

clip_image024

Откройте контекст «default» и впишите в него следующие 2 строки:

exten = s,1,NoOp(all_ring)

include = ringroups-custom-1

clip_image026

Нажмите кнопку Apply Changes. Все, входящие звонки работают.

Теперь перейдем к настройке исходящих звонков. Создайте транк для исходящих. Hostname можно ввести любой не существующий IP-адрес, например 192.168.255.255

clip_image028

В логах будет появляться строка

[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».

clip_image030

Pattern для любого вызываемого номера – «_X.». Если нужно заворачивать в GSM только определенные номера, можно прописать свою маску

clip_image032

В Dial Plan’е разрешить использование исходящего направления «gsm_out».

clip_image034

Перейдите в раздел 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

clip_image036

Нажмите кнопку «Apply Changes» в правом верхнем углу интерфейса

На этом все, базовая настройка закончена. Как уже говорилось в начале, с подробной инструкцией по настройке остальных функций Asterisk через Web-GUI можно ознакомиться на http://service.d-link.ua/node/50