Как стать автором
Обновить

GSM-шлюз OpenVox как полноценная замена АТС

Время на прочтение4 мин
Количество просмотров56K
image

Как известно, SIP набирает всё большую и большую популярность и не для кого не секрет, что можно оптимизировать затраты на телефонию грамотно выбрав SIP-провайдера.

Но, к сожалению, выше приведенное утверждение верно только для крупных городов России и СНГ. А как же поступать в случаях, где SIP недоступен? Использовать PRI? Довольно дорого, тем более для маленькой компании с небольшим количеством звонков, да и опять же не везде доступно. Использовать аналоговую телефонию по старинке? Безусловно, нет. Ответ кажется довольно очевидным: GSM-шлюз решит все ваши проблемы.

На первый взгляд, все довольно просто в реализации, однако при более детальном продумывании станет понятно, что шлюз сам по себе мало функционален и является лишь своего рода преобразователем GSM в SIP, а для реализации пусть и незаоблачных, но все-таки “хотелок” необходима АТС (например IVR, маршрутизация, очереди). Для минимизации процесса затрат допустим, что это наш любимый open-source Asterisk. Если речь идет уж о совсем глобальной экономии, то можно сразу сказать: “Ага, а сервер под Астериск? Он тоже не бесплатный!” (Хотя по-моему мнению у запасливого админа всегда найдется железка под Астер:))

А теперь представьте, что все выше написанное можно реализовать всего лишь средствами одного GSM-шлюза? Невероятно? Что ж, прошу под кат.


Пару месяцев назад grigly писал статью о новых GSM-шлюзах компании Openvox, которая заканчивалась вполне оптимистичной и подстегивающей к действию фразой: “Коллеги, в нем полноценный Asterisk, я даже не удивлюсь, если на нем удастся настроить IVR и очереди, и использовать в качестве полноценной АТС.”

А действительно? Возможно ли реализовать функции АТС средствами шлюза?

Коллеги, сразу оговорюсь, что данное решение подходит для небольшой компании, скажем со штатом в 10 сотрудников.

Итак, для начала оценим, какие функции АТС нужны небольшой компании? По моему мнению, это очереди, IVR, перевод звонка.

Создадим sip-пиры в веб интерфейсе шлюза:


Переходим во вкладку SIP → SIP Endpoints, нажимаем “Add New SIP Endpoint”

Name = 777
User Name = 777
Password = YourStrongPasssword123
Registration = Endpoint registers with this gateway
Hostname or IP Address = dynamic
Transport = UDP
NAT Traversal = Yes

Нажимаем “Save”



Далее по аналогии создаем необходимое количество SIP-пиров.

Теперь в веб интерфейсе включим доступ по SSH. Для этого зайдем во вкладку System → Login Settings и поставим в SSH Login Settings “Enable ON”
image

Стоит отметить, что порт для SSH в шлюзе 12345, изменить его нельзя, что видимо сделано для целей обеспечения безопасности.

По умолчанию пользователь admin не имеет root-овых прав, для того, чтобы получить root-а, необходимо изменить пользователя на super, пароль super.
image

Итак, заходим на шлюз по SSH:
ssh -p 12345 admin@192.168.1.111

Password: admin

После того, как вы попали на шлюз, правим контекст конфигурационного файла extra-channels.conf:

vim /etc/asterisk/extra-channels.conf:


Правим контекст для входящего вызова с SIM1:
; Span 1: opvxg4xx/0/1 «OpenVox G400P GSM/CDMA PCI Card 0» AMI/CCS
group=1
context=ivr
signalling = gsm
vol=70
mic=1
dacgain=-15
adcgain=-3
debugat=off
smscodec=utf-8
;hwdtmfdet=1
anonymouscall=off
call_waiting=off
band=
dialprefix=
switchtype=SIMCOM_SIM840W
channel => 1


Теперь создадим новый контекст ivr.

vim /etc/asterisk/extensions_custom.conf


Создаем новый контекст ivr:
[ivr]
exten => s,1,Answer()
same => n,Background(press-1&or&press-2)
same => n,WaitExten()

exten => 1,1,Playback(wait_connection)
same => n,Dial(SIP/777)
same => n,Hangup()

exten => 2,1,Playback(wait_connection)
same => n,Dial(SIP/888)
same => n,Hangup()


Диалплан в примере самый примитивный, предназначен для демонстрации, в продакшине, конечно, должна быть реализована защита от неправильно введенных цифр.

Стоит отметить, что Openvox поддерживает звуки для IVR только в формате GSM. У меня были звуки в формате .wav, которые я перекодировал средствами системы:

sox input.wav -r 8000 -c1 output.gsm lowpass 4000 compand 0.02,0.05 -60,-60,-30,-10,-20,-8,-5,-8,-2,-8 -8 -7 0.05


По умолчания в Openvox не загружены модули gsm, надо загрузить их принудительно в CLI:

Openvox-Wireless-Gateway*CLI> module load codec_gsm.so

Openvox-Wireless-Gateway*CLI> module load format_gsm.so


Для того, чтобы не загружать gsm каждый раз после перезагрузки шлюза, рекомендую добавить две эти строчки в файл /etc/asterisk/modules.conf

Теперь перейдем к конфигурированию очередей:


Заходим в веб-интерфейс шлюза, вкладка Routing → Groups. Создаем новую группу щелкнув по кнопке New Group:

Group Name = YourGroupName
Type = SIP
Policy = выбираем подходящую вам стратегию обзвона
Members = ставим галочки в чекбоксах напротив тех номеров, которые мы хотим включить в группу:


Теперь переходим во вкладку Routing → Call Routing Rules, нажимаем New Call Routing Rule:

Routing name = YourRoutingName
Call Comes in From = например, gsm-2 (то есть все звонки с sim 2 будут перенаправляться в нашу очередь)
Send Call Through = из выпадающего списка выбираем только что созданную группу.



Еще одной важной функцией является возможность осуществления перевода звонка. К нашей великой радости это уже предусмотрено разработчиками Openvox. Откроем feauteres.conf:

vim /etc/asterisk/features.conf


И видим там следующую строку:

blindxfer => #1         ; Blind transfer


То есть по нажатию #1 будет осуществлен трасфер звонка, в принципе можно выбрать любой префикс для перевода, я для удобства поменял на *1.

Заключение


Используя недокументированные возможности данного устройства, в результате мы получаем следующую калькуляцию затрат для типичного малого бизнеса:

1) 10 IP телефонов ~ 25 тыс. рублей. (не самые дешевые аппараты, но с поддержкой HD кодеков, гарнитуры, и вероятно даже PoE)

2) OpenVox VS-GW1200-4G ~ 15 тыс. рублей

3) Если вам необходимо подключить внешнюю аналоговую линию и, скажем, факс, то можно приобрести недорогой FXO / FXS шлюз, например Granstream HT-503 ~ 2.5 тыс. рублей.

4) Как было сказано выше, шлюз умеет и регистрировать на себе конечные SIP-устройства, так и сам регистрироваться на АТС, поэтому с подключением SIP-провайдера не возникнет проблем

Итого, полноценный VOIP в офисе, с анлим транками, очередями и блекджеком менее чем за 45 000 рублей!

Шлюз не имеет жестких дисков, и использует только качественные компоненты (в этом мы могли убедиться в предыдущей статье про OpenVox), поэтому является крайне надежным решением.

Более того, этому решению не требуются никакие доп. лицензии, подписки на тех. поддержку и прочее, поэтому общая стоимость владения вполне быстро просчитывается и можно забыть о всякого рода подводных камнях с лицензированием.
Теги:
Хабы:
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань