Для осуществления звонков с компьютера и, при наличии GSM-Шлюза, нам нужно подружить это устройство с установленным ранее сервером ip-телефонии Asterisk. И делать мы это будем с помощью установленной нами ранее панели управления FreePBX.
В настоящий момент для подключения устройств к серверу Asterisk используется технология (драйвер) PjSIP, пришедшая на смену устаревшей SIP, которую также всё ещё можно использовать.
В данной статье рассмотрим подключение GSM-Шлюза GoIP-4 как с помощью устаревшего драйвера SIP, так и с новым — PjSIP. Также будем исходить из того, что наш шлюз настроен и ему присвоен соответствующий IP. Если это ещё не сделано, то можно использовать инструкцию в нашей копилке.
Настройка каналов на стороне шлюза
И так, запустим web-интерфейс GoIP-4, набрав в адресной строке его IP, например, http://192.168.1.152/.
Перейдём на Configurations → Basic VoIP
В Config Mode из списка выбираем Config by Line
Authentication ID — имя линии. Может содержать цифры и латинские буквы. Например, go-5001 или 5001. В нашем случае ограничимся цифровым идентификатором.
Password — пароль от линии.
Routing Prefix — префикс маршрутизации.
SIP Registrar Server — IP и порт нашего сервера Asterisk. Порт ставим из расчёта технологии подключения. Если во FreePBX его не меняли, то по умолчанию pjsip — 5060, а sip — 5160.
Re-register Period (s) — период перерегистрации ставим 60
Phone Number — номер телефона. Установим его идентичным имени линии.
Display Name — отображаемое имя. Необязательно, можно оставить пустым. В нашем случае это номер SIM-карты в данном слоте устройства.
Теперь жмём кнопку *Auto Config Other lines и оставшиеся линии принимают значения полей Authentication ID, Password, Routing Prefix и Phone Number методом счётчика, увеличивая его на следующей линии на 1. Сохраняем наши настройки, нажав Save Changes.
Переходим на Advance VoIP
Разбирать подробно его не станем, просто приведём все значения к указанным на скриншоте.
В пункте Call Out, как и в первом случае, настраиваем первую линию и жмём *Auto Config Other lines для автонастройки остальных
В Call In в пункте Forwarding to VoIP Number, для удобства визуальной идентификации в мониторе sngrep, можно внести понятные вам обозначения соответствующих SIM-карт. Оно может быть как цифровым (например, номер данного телефона), так и буквенным. В последнем случае придётся использовать лишь латинские буквы, иначе будет отображаться не то, что вы хотели.
Остальные настройки оставим по умолчанию. Наш шлюз настроен, можно переходить к настройке транков и маршрутизации в нашем FreePBX.
Настройки транков на стороне сервера
Настройка транков GSM-шлюза
Запускаем его с адресной строки в браузере и переходим в Подключения → Транки. Жмём Добавить mISDN транк, из списка выбираем нужный нам формат Добавить SIP (chan_sip) транк или Добавить PjSIP (chan_pjsip) транк.
Во вкладке Общие в поле Название транка вписываем его имя, которое мы указали в поле Authentication ID настроек GSM-Шлюза, Исходящий CallerID можно оставить пустым или вписать номер телефона.
В поле Название транка пишем значение канала, которое мы установили на шлюзе в поле Authentication ID. В поле Опции команды Dial для транка Asterisk отмечаем кнопку Переписать и вставляем
TL(2700000:120000:60000)
Это значение было взято из одной статьи в интернете, но опыт показал, что менять дефолтное нет никакого смысла, с ним всё работает отлично. Так что можете оставить это поле как есть.
Вкладка Правила для манипуляции набранными номерами отвечает за исходящие вызовы. В строке «приставка» ставим номер линии, соответствующий Routing Prefix из настроек шлюза. В строку «совпадение шаблона» — шаблон набираемого номера.
Если вы предполагаете, что исходящие вызовы будут совершаться со всех SIM-карт, то в поле приставка впишите номер канала настраемого транка на шлюзе. В том случае, если исходящие будут осуществляться не со всех каналов, то эту вкладку нужно заполнить обязательно только для этих каналов.
Во вкладке pjsip Общие настройки → Исходящий в поле Имя пользователя и Auth username пишем имя линии, Секрет — ваш пароль который ставили в настройках шлюза в поле password, а в поле Регистрация выбираем Принять:
Открываем вкладку Расширенный. В поле От Домена пишем IP адрес нашего GSM-Шлюза, в поле От Пользователя — Authentication ID соответствующего канала шлюза, из списка Match Inbound Authentication выбираем Auth Username.
Во вкладке sip Общие настройки → Исходящий в поле Название транка пишем имя линии, а в опции для PEER:
username=5001
secret=ВАШ_ПАРОЛЬ_КОТОРЫЙ_СТАВИЛИ_В_НАСТРОЙКАХ_ШЛЮЗА_В_ПОЛЕ_PASSWORD
type=peer
qualify=yes
permit=192.168.1.0/255.255.255.0
nat=no
insecure=port,invite
host=dynamic
disallow=all
deny=0.0.0.0/0.0.0.0
context=from-trunk
allow=alaw&ulaw&gsm
Во Входящий очищаем все поля, чтобы все они были пустыми.
Во Входящий очищаем все поля, чтобы все они были пустыми.
И так создаём транки для всех каналов шлюза (SIM-карт).
Настройка транка Ростелекома
В сети много противоречивой информации о настройке транка для подключения номера Виртуальной АТС Ростелекома. Исходя из собственного опыта, конкретно для меня оказались рабочими нижеследующие настройки.
Также, как и с транками для GSM-Шлюза GoIP-4, в Подключения → Транки. Жмём Добавить mISDN транк, из списка выбираем нужный нам формат Добавить SIP (chan_sip) транк/Добавить PjSIP (chan_pjsip) транк.
Во вкладке pjsip Общие настройки → Исходящий в поле Имя пользователя и Auth username пишем логин ВАТС Ростелеком, Секрет — ваш пароль ВАТС Ростелеком, в поле SIP сервер — домен ВАТС Ростелеком, а в поле Порт SIP сервера — 5060:
В поле Название транка во вкладке Общие пишем, например, rt. Его же указываем и в sip Общие настройки → Исходящий в одноимённом поле.
В sip Общие настройки → Исходящий в поле опции для PEER вносим следующие настройки:
username=Логин_ВАТС_Ростелекома
type=friend
secret=Пароль_ВАТС_Ростелекома
regsecond=600
qualify=3000
nat=force_rport,comedia
insecure=invite,port
host=Сервер_ВАТС_Ростелекома
fromuser=Логин_ВАТС_Ростелекома
fromdomain=Сервер_ВАТС_Ростелекома
dtmfmode=rfc2833
directmedia=yes
defaultuser=Логин_ВАТС_Ростелекома
canreinvite=no
allow=alaw&ulaw
context=from-trunk-sip-rt
Измените соответствующие настройка под свои.
В sip Общие настройки → Входящий очищаем все поля, а в поле Строка регистрации вписываем, изменив на свои данные
Логин:Пароль@Сервер_Ростелекома/Номер_телефона
Теперь, если перейдём в web-интерфейс шлюза, то увидим, что наши каналы подключены к серверу
А значит наш шлюз настроен и подключен верно, можно переходить к дальнейшим настройкам сервера используя FreePBX.
Настройка внутреннего номера
Для приёма звонков и совершения вызовов, нам нужен пользователь, который будет взаимодействовать между сервером и нами. Этим пользователем будет служить внутренний номер. С его помощью мы сможем подключить софтфон и через него делать звонки. В качестве софтфона я использую PhonerLite.
Приступим к настройке. Заходим в Приложения → Внутренние номера и выбираем Добавить внутренний номер → Добавить новый SIP (Legacy) [chan_sip] внутренний номер.
- В поле Внутренний номер пользователя вписываем любой цифровой номер, который хотим использовать.
- В поле Отображаемое имя вводим понятное наименование пользователя, например, Иван или Диспетчер и т.п.
- Поле Секрет содержит сгенерированный сервером пароль, который можно оставить или сменить на свой.
И для работоспособности нам этого достаточно.
Настройка входящей маршрутизации
Для приёма звонков необходимо настроить входящую маршрутизацию. Для этого выбираем в меню Подключения → Входящая маршрутизация и жмём Добавить входящий маршрут
- В поле Описание пишем понятное нам название маршрута.
- В поле Установить направление выбираем Внутренние номера и в нижнем поле автоматически появится только что созданный нами пользователь внутреннего номера.
Остальные поля оставляем по умолчанию.
Настройка исходящей маршрутизации
Для совершения звонков необходимо настроить исходящую маршрутизацию. Для этого выбираем в меню Подключения → Исходящая маршрутизация и жмём Добавить исходящий маршрут
- В поле Название маршрута пишем понятное нам название маршрута.
- В поле Последовательность транков для совпавших маршрутов выбираем транки, через которые мы будем совершать исходящие вызовы.
Вкладка Правила набора аналогична уже рассмотренной нами вкладке Правила для манипуляции набранными номерами из настроек транка
Следовательно заполняем её также, как и выше.
На этом настройки шлюза и сервера завершены, можно установить и настроить софтфон на свой вкус и начинать звонить через компьютер.
Это минимальная настройка. Если установить дополнительные модули (меню Админ → Управление модулями), то можно настроить очереди звонков, телефонное меню, условия по времени и многое другое.