img

Интеграция GoIP 1 и Asterisk

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Привет всем! Многие читатели просили написать статью по настройке китайских GSM-шлюзов GoIP. Ну что же – это она :)

Мы постараемся как можно подробнее описать процесс настройки GSM-шлюза GoIP 1 и соединим его с IP-АТС Asterisk с помощью графического интерфейса FreePBX 14. Если у вас останутся вопросы или возникнут проблемы с настройкой, то мы поможем их решить в комментариях к данной статье!

Вся линейка оборудования GoIP различается в зависимости от количества SIM-карт, которые они поддерживают, а следовательно, и возможных GSM каналов. Есть модели GoIP 1/4/8/16 и 32.

Пошаговое видео


Немного теории

GoIP 1, как и вся линейка оборудования GoIP – это межсетевой шлюз, который работает на стыке сетей IP и GSM. Сама аббревиатура GoIP означает GSM Over IP. Таким образом, любую сеть IP-телефонии можно связать с сетью подвижной сотовой связи - GSM и использовать её как выход на телефонную сеть общего пользования (ТфОП).

Для того, чтобы GSM-шлюзом можно было пользоваться, в него нужно вставить простую SIM-карточку. Форм-фактор должен быть именно mini-SIM.

Сейчас объясним совсем просто. У всех есть мобильный телефон. Чтобы с него можно было звонить и принимать вызовы, мы вставляем в него SIM-карту, которой присвоен номер. Встроенная антенна в нашем телефоне находит сотовую сеть и с помощью SIM-карточки идентифицируется в ней. Теперь мы можем звонить и принимать звонки на наш номер со всего мира.

А теперь мы вытаскиваем SIM-карту из телефона и вставляем её в шлюз GoIP. Что поменялось? Да по сути - ничего. Шлюз также найдёт и также идентифицируется в сотовой сети. Останется только настроить его и “подружить” с нашей IP-АТС и мы сможем звонить c IP-телефона во внешний мир и принимать звонки от туда.

Закрепим всё это схемой:

Схема сети GSM Over IP
Подготовка к настройке

Для начала нужно вставить в шлюз SIM-карточку. На задней панели есть специальный слот, вставьте туда mini-SIM-карточку как показано на картинке ниже.

Установка SIM-карты
Внимание! Прежде чем вставлять SIM-карты в шлюзы GoIP, слоты должны быть обесточены. Сделать это можно либо отключив питание шлюза, либо отключив питание соответствующего GSM модуля через веб - интерфейс

Всё оборудование линейки GoIP настраивается с помощью встроенного графического интерфейса. Для того, чтобы в него попасть нужно подключить шлюз в сеть через один из Ethernet портов, расположенных на корпусе шлюза. Шлюз имеет 2 Ethernet порта:

  • PC - порт может работать как в режиме моста, так и в режиме маршрутизатора. По умолчанию он находится в режиме маршрутизатора и ему присвоен адрес 192.168.8.1/24. Можно назначить на компьютере адрес из той же подсети, подключиться к шлюзу напрямую и получить доступ к веб интерфейсу по упомянутому адресу. В режиме моста шлюз можно подключить к локальной сети;
  • LAN - порт для подключения к локальной сети. По умолчанию он получает адрес по DHCP и для того, чтобы выяснить какой адрес он получил, можно воспользоваться одним из следующих методов:
    • Наберите номер SIM-карточки, которую вы вставили в шлюз. Как только будет ответ, наберите комбинацию *01. IP адрес, который получил шлюз, будет продиктован в трубку;
    • Отправьте на номер SIM-карты SMS сообщение с текстом ###INFO###, в ответ шлюз пришлет адрес, который получил по DHCP.
    • Если у вас есть доступ к DHCP серверу, вы можете узнать IP адрес шлюза через него;

Как только вы узнали адрес шлюза, введите его в адресную строку Вашего браузера. Логин и пароль по умолчанию - admin/admin.

Первая страница, которая переда нами откроется - это текущий статус шлюза. Если SIM-карта уже была вставлено, то мы увидим примерно следующее:

Статус шлюза

Рассмотрим, что означают данные поля:

  • CH/ Line - Номер канала и линии. У нас модель GoIP 1, поэтому мы видим статус только для одного поддерживаемого канала;
  • M - Статус GSM модуля. Y - значит включён, N - выключен. Если нажать на Y - то данный модуль выключится, и перейдёт в статус N. Соответственно, чтобы включить его, нужно будет нажать N. Прежде чем вставлять или вытаскивать SIM-карту из рабочего шлюза, необходимо выключить GSM модуль;
  • SIM - Статус наличия SIM-карты в слоте;
  • GSM - Статус регистрации шлюза в сети GSM;
  • VOIP - Статус регистрации в сети VoIP, то есть – регистрация на IP-АТС. Мы ещё не проводили никаких настроек, поэтому наш шлюз пока "не видит" IP-АТС;
  • Status - Статус VoIP линии. Изменяется в зависимости от VoIP активностей, которые происходят на шлюзе. Может показывать активный звонок (CONNECTED), входящий звонок (INCOMMING), исходящий звонок через соответствующий GSM канал (DIALING) и другие. Статус IDLE означает, что на шлюзе нет текущих VoIP активностей на соответствующем GSM канале;
  • SMS - Статус регистрации на сервере SMS;
  • ACD(S)/ASR(%)/Duration(S)/Count - Показывают соответственно: среднюю продолжительность звонка, средний коэффициент успеха отвеченных вызовов, продолжительность вызова, текущее количество активных звонков и общее число;
  • CDR Start- Время начала записей CRD;
  • RSSI - Показатель уровня принимаемого сигнала;
  • Carrier - Оператор сотовой связи. В нашем случае это МТС;
  • BST ID - Идентификатор базовой станции;
  • Idle - Время в минутах, прошедшее с момента последнего звонка;
  • Remain - Возможное оставшееся время для совершения исходящих звонков;
  • SMS Remain - Количество оставшихся SMS, которые можно отправить;
  • Reset - Данная вкладка позволяет сбросить показатели полей, рассмотренных выше;

Итак, прежде чем приступать к настройке, предлагаем обновить прошивку на нашем шлюзе до актуальной версии. Для этого открываем вкладку ToolsOnline Upgrade. Выясняем текущую версию, а затем идём на сайт производителя - http://www.hybertone.com/en/news_detail.asp?newsid=21 и ищем более актуальную версию для своей модели (в нашем случае – GoIP 1):

Сайт производителя

Копируем ссылку, для своей модели, вставляем её в строку Upgrade Site в интерфейсе нашего шлюза и жмём Start

Обновление прошивки
Внимание! В процессе обновления нельзя перезагружать или отключать питание шлюза!

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

Обновление прошивки

После перезагрузки, Вы увидите уведомление о том, что обновление прошло успешно и новую версию прошивки:

Завершение обновления
Настройка на стороне GoIP

Итак, прыгаем в ConfigurationsPreferences. Здесь меняем часовую зону и отключаем встроенный IVR. После завершения настроек на каждой вкладке интерфейса необходимо подтверждать изменения кнопкой Save Changes

Preferences

Далее переходим на вкладку Network и меняем настройки IP адресации на статические LAN PortStatic IP

Network

Теперь переходим на вкладку Basic VoIP и настраиваем подключение к серверу Asterisk.

  • Endpoint Type оставляем как SIP Phone;
  • Config Mode также не трогаем, оставляем Single Server Mode;
  • В полях Authentication ID, Display Name и Phone Number обязательно нужно правильно указать название SIP-аккаунта, который мы потом заведём на FreePBX. Данные поля необходимы для успешной SIP регистрации. В нашем случае SIP-аккаунт называется goip-merion;
  • В поле Password указываем пароль для доступа к транку. Точно такой же нам нужно будет ввести на при настройке на стороне FreePBX;
  • Самый важный момент - SIP Registrar и SIP Proxy. Сюда вводим IP адрес нашего сервера Asterisk и порт, на котором он слушает Chan_SIP. По умолчанию, драйвер chan_sip работает на порту 5160;
Проверить это можно через FreePBX в модуле Asterisk SIP Settings. Перейдите на вкладку Chan SIP Settings и проверьте поле Bind Port. Впишите тот порт, который там указан или же, измените его значение и впишите его на GoIP.
Chan SIP Port

Таким образом, если IP адрес Вашего Asterisk 192.168.12.34, то в поля SIP Registrar и SIP Proxy вводите 192.168.12.34:5160. Нажимаем Save Changes

Basic VoIP

На вкладке Advanced VoIP есть важный момент. Обратите внимание на поле Signaling Port. Это порт, на котором шлюз слушает SIP, по умолчанию его значение 5060. При настройке транка на стороне FreePBX нужно будет это учесть.

В поле Call OUT Auth Mode выберем опцию IP and Password, отметим опцию As Proxy и введём пароль. Такой же пароль потом будет необходимо ввести при настройке транка.

Advanced VoIP

Далее на очереди вкладка Media. На ней настроим интервал RTP портов как на Asterisk (10000-20000), а также приоритетность кодеков:

Media

Вкладку Call Out и Call Out Auth оставляем без изменений. На вкладке Call In меняем 2 параметра:

  • CID Forward Mode - устанавливаем значение Use CID as SIP Caller ID для того, чтобы определялся номер звонящего;
  • Forwarding to VoIP Number - вписываем сюда номер нашей IP-АТС, куда будут приходить входящие звонки. В нашем случае – это будет внутренний номер 175, который мы создадим на FreePBX;
Call In

На этом, настройка на стороне шлюза GoIP закончена. Теперь переходим во FreePBX.


Настройка на стороне FreePBX

Прежде чем приступать к настройкам на стороне FreePBX, предлагаю внести IP-адрес шлюза в белый список fail2ban. В процессе регистрации от шлюза может прийти много неудачных попыток регистрации. Из-за этого он может быть просто заблокирован fail2ban’ом и Asterisk не сможет его даже пинговать. Чтобы этого избежать, рекомендую сделать следующее:

Подключитесь к Asterisk через ssh и откройте для редактирования файл /etc/fail2ban/jail.local, например, с помощью vim:

vim /etc/fail2ban/jail.local

Найдите секцию [DEFAULT] и добавьте в опцию ignoreip адрес шлюза GoIP, который настроили ранее. Адреса можно добавлять через пробел в одну строку, можно также добавлять целые сети. На примере ниже, мы внесли адрес шлюза 192.168.12.34/24

fail2ban

Теперь мы готовы. Сначала настроим новый транк. Для этого открываем раздел ConnectivityTrunksAdd TrunkAdd SIP (chan_sip) Trunk. На вкладке General указываем название и вписываем номер, который присвоен SIM-карточке:

Добавление транка General

Далее переходим на вкладку sip SettingsOutgoing. Указываем имя транка в Trunk Name и заполняем PEER Details следующим образом:

Добавление транка Outgoing

Обратите внимание, что параметр port=5060, он должен совпадать с тем, что указан в Signaling Port на GoIP. Для удобства, приводим PEER Details ниже:

host="IP Шлюза GoIP"
port=5060
type=peer
context=from-internal
dtmfmode=rfc2833
disallow=all
allow=alaw&ulaw
insecure=very&port,invite
qualify=yes
defaultuser=goip-merion
secret="Ваш Пароль" 
nat=no
canreinvite=no

Теперь переходим на вкладку sip SettingsIncoming. Указываем имя SIP-аккаунта USER Context, оно должно совпадать с Authentication ID, Display Name и Phone Number на GoIP. Затем заполняем USER Details следующим образом:

Добавление транка Incoming
type=friend
host=dynamic
secret="Ваш Пароль" 
context=from-trunk
dtmfmode=rfc2833
canreinvite=no
qualify=yes
После выполненных настроек, рекомендую перезагрузить шлюз.

После этого, в Asterisk Info у нас должно появиться что-то типа:

Asterisk Info

Это значит, что регистрация шлюза прошла успешно. Обратите внимание, что мы уже создали внутренний номер 175. Если мы откроем статус GoIP, то также увидим там подтверждение того, что транк был успешно зарегистрирован:

Статус GoIP

Нам осталось только создать исходящий маршрут и настроить отправку исходящих вызовов в транк к GoIP шлюзу:

Исходящий маршрут

А также обозначить в нём правила набора:

Dial Patterns

При этом, входящий маршрут нам не нужен, так как при настройке GoIP в разделе Call InForwarding to VoIP Number мы настроили приём всех входящих звонков на номер 175. На данном номере, мы зарегистрировали софтфон DrayTek, попробуем сделать исходящий вызов:

Проверка исходящей связи
  • Работает

А теперь попробуем позвонить на номер SIM-карточки, которую мы вставили в шлюз:

Проверка исходящей связи
  • Вызов попадает на тот же DrayTek с номером 175. Номер звонящего определяется.

На этом настройка шлюза GoIP 1 завершена. Надеюсь, что данная статья была Вам полезна. Пишите в комментарии, если столкнулись с проблемой!

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Привет, дорогой читатель! В повседневной работе зачастую не хватает автоматизации. Поэтому, мы решили создать калькулятор инстал
img
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них
img
Привет! Для удобства, мы структурировали все материалы по графическому интерфейсу FreePBX в нашей базе знаний в единый файл. Сам
img
Вам, как сетевому инженеру, крайне важно разбираться в том, каким образом вызовы VoIP влияют на пропускную способность канала в
img
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим т
img
Всем современным кампаниям, производящим товары и оказывающим услуги, необходимо иметь специалистов, работающих с потенциальными
21 ноября
20:00
Бесплатный вебинар
Введение в Docker