Настроить софтфон через Asterisk на Манго

Posted by

Задача: Настроить софтфон через Asterisk на Манго, потому как на основе этого я хочу на сервере Zabbix поднять возможность уведомления звонком меня где бы я не находился о проблемах в инфраструктуре. Ну по крайней мере я себе поставил такую задачу, а там как сложется, может я пока еще себе слабо представляю как это с технической точки зрения реализуется, но все же это задача.

Ранее я Вам читатели моего блога да и самому себе на будущее  я показал, как подключить консольно развернутый Asterisk к облачной АТС Манго Телеком в то время это делалось чтобы заставить работать телефонные voip аппараты Cisco CP-7925G. Как показала практика их использования им нужна стабильная зона покрытия Wifi сигнала на всем участке использования, но такая роскошь имеется только в одном офисе где в свое время были закуплены точки доступа Mikrotik и развернуто единое управление ими через CAPsMAN (об этом я поведую чуточку позже). Ну да ладно, сейчас я хочу в шагах разобрать как подключить через Asterisk софтфон из моей рабочей системы Ubuntu 12.04.5 Desktop amd64. В роли софтфона выступит приложение – ekiga.

На заметку: если в Ekiga настроены несколько учетных записей и вот переключение на нужную, то чтобы регистрация подхватилась порой просто нужно сделать EkigaФайлВыход, а потом запустить снова и учетная запись снова активируется.

На заметку: советую когда настраиваете софтфон открыть еще одну консоль

sudo asterisk -r и смотреть на вывод который идет на консоль чтобы сразу же определить что у Вас не так.

Сперва создам SIP-аккаунт внутри Asterisk с перенаправлением на транк от SIP-аккаунта созданного в Манго:

На сервере где развернута телефония Asterisk:

ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip_custom.conf

[112]

context=public

secret=Aa1234567

type=friend

host=dynamic

disallow=all

allowguest=no

allow=alaw

dtmfmode=inband

nat=force_rport

alwaysauthreject=yes

ekzorchik@srv-host:~$ sudo nano /etc/asterisk/extensions_custom.conf

[public]

;для исходящих звонков

exten => _X.,1,Dial(SIP/line112/${EXTEN})

[incoming]

exten => line112,1,Dial(SIP/112)

exten => line112,n,Hangup()

ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip.conf

#include sip_custom.conf

[general]

context=public

register => 000112:<PASSWORD>@<DOMAIN>.mangosip.ru/line112

ekzorchik@srv-host:~$ sudo nano /etc/asterisk/extensions.conf

#include extensions_custom.conf

ekzorchik@srv-host:~$ sudo chown -R asterisk:asterisk /etc/asterisk/

ekzorchik@srv-host:~$ sudo /etc/init.d/asterisk restart

Stopping Asterisk PBX: asterisk.

Starting Asterisk PBX: asterisk.

ekzorchik@srv-host:~$ sudo /etc/init.d/asterisk status

* Asterisk PBX is running

Или

ekzorchik@srv-host:~$ sudo asterisk -r

srv-host*CLI> core reload

Определяю текущий IP адрес сервера где у меня развернут Asterisk:

ekzorchik@srv-host:~$ ip r

default via 10.7.8.1 dev eth0

10.7.8.0/24 dev eth0 proto kernel scope link src 10.7.8.170

После переключаюсь на свою рабочую станцию (Ubuntu 12.04.5 Desktop amd64 рабочее окружение Gnome Classic), устанавливаю Ekiga и настраиваю данные SIP учетной записи:

aollo@system:~$ sudo apt-get install ekiga -y

запускаю софтфон:

Приложения – Интернет – Программный-телефон Ekiga – Правка – Учетные записи – Учетные записи – Добавить учетную запись SIP —

Имя: 112

Регистратор: 10.7.8.170:60000

Пользователь: 112

Аутентификация пользователя: 112

Пароль: Aa1234567

Задержка: 3600

Включить учетную запись: отмечаю галочкой и нажимаю OK

Теперь нужно настроить кодеки для работы:

Ekiga – Правка — Параметры

Общие — Личные сведения:

Имя: 112

Настройки Ekiga — Протоколы — Параметры SIP

Исходящий прокси-сервер: 10.7.8.170:60000

Посылать DTMF как: RFC2823

ЗвукКодеки:

  • PCMA
  • PCMU

Включить обнаружение молчания: отмечаю галочкой

Включить подавление эха: отмечаю галочкой

Выключаю и включаю учетную запись, а тем временем в еще одной консоли с запущенным asterisk наблюдаю следующую картину:

srv-host*CLI> sip show peers

Name/username Host Dyn Forcerport Comedia ACL Port Status Description

112/112 10.7.8.135 D Yes No 5060 Unmonitored

Отлично программный телефон успешно зарегистрировался.

Теперь чтобы позвонить на телефон облачной АТС Манго (для внутренних номеров суффикс после символа @ указывать не нужно), нужно в строке набора указать к примеру 000102@<DOMAIN>.mangosip.ru и нажать кнопку трубки – звонок попадет на облачную АТС, а оттуда к базовой станции Grandstream DP715, а после на зарегистрированную на ней трубку Grandstream GP710 и на дисплее будет номер звонящего, голос туда и обратно передается без каких либо искажений, считаю что все нормально. Что еще можно сказать по этому поводу, ставлю задачу, разбираю ее на маленькие составляющие и решаю (документируя каждый шаг), а в конечном итоге получаю опыт и решенную задачу, на этом я прощаюсь и до новых встреч с уважением автор блога ekzorchik.