Подключение оператора связи Macomnet к Asterisk
В данной статье рассмотрим подключение и настройку оператора Macomnet через web-интерфейс FreePBX. Преднастройка: Настройка будет производиться на Asterisk 13.19.2, версия centos 6.9 (final), а в качестве web интерфейса используется FreePBX 13.0.192.19 Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже Версия CentOS: Подключитесь к IP ATC с […]
![Macomnet к Asterisk](https://voxlink.ru/wp-content/uploads/2019/02/403_VK_1000x700px_podkljuchenie_operatora_svjazi_macomnet_k_asterisk.jpg)
В данной статье рассмотрим подключение и настройку оператора Macomnet через web-интерфейс FreePBX.
Преднастройка:
Настройка будет производиться на Asterisk 13.19.2, версия centos 6.9 (final), а в качестве web интерфейса используется FreePBX 13.0.192.19
Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже
Версия CentOS:
Подключитесь к IP ATC с помощью PuTTY
![](/wp-content/uploads/2019/02/Screenshot_1-7.png)
Зайдите как root пользователь
![](/wp-content/uploads/2019/02/Screenshot_2-6.png)
И выполните следующую команду cat /etc/redhat-release
![](/wp-content/uploads/2019/02/Screenshot_3-4-1024x62.png)
Версия Asterisk:
Для того, чтоб узнать версию asterisk, достаточно ввести следующую команду asterisk –rvvv
![](/wp-content/uploads/2019/02/Screenshot_4-3.png)
Данные от оператора следующие:
- Логин — 889923
- Пароль – qwerty12345
- IP — 195.94.224.208:5060
- Номер – 74953402290
- Приоритетные кодеки g711a (PCMA) или g729.
Перед тем, как приступить к регистрации нового транка необходимо добавить ip-адрес провайдера в iptables иначе возникнут проблемы с регистрацией данного номера. Для этого выполняем следующие шаги:
Переходим в раздел /usr/src
![](/wp-content/uploads/2019/02/Screenshot_5-4.png)
Теперь выгружаем наши правила в файл «dd» с помощью команды iptables-save > dd
![](/wp-content/uploads/2019/02/Screenshot_6-4.png)
После чего откройте любым удобным для вас текстовым редактором файл «dd». В нашем случае мы будем использовать текстовый редактор nano.
![](/wp-content/uploads/2019/02/Screenshot_7-5.png)
Прописываем ip-адрес оператора
![](/wp-content/uploads/2019/02/Screenshot_8-4.png)
И теперь выходим командой CTRL+C и не забываем сохранить настройки кнопкой «Y»
![](/wp-content/uploads/2019/02/Screenshot_9-4.png)
Все. Файлик мы изменили и подготовили, теперь осталось его загрузить. Выполняется это следующей командой: iptables-restore < dd
![](/wp-content/uploads/2019/02/Screenshot_10-5.png)
Теперь, чтоб после перезагрузки АТС не сбились настройки нужно сохранить изменённый iptables. Выполняем команду «service iptables save».
![](/wp-content/uploads/2019/02/Screenshot_11-4.png)
И так, если вы все сделали правильно, то в списке разрешенных адресов окажется необходимый нам ip. Это можно проверить с помощью команды iptables –L -nv
![](/wp-content/uploads/2019/02/Screenshot_12-5.png)
Отлично, мы добавили адрес и теперь можем приступить к непосредственной регистрации и настройки номера.
Так же для работы корректной работы нужно чтоб на сетевом оборудовании и в iptables были открыты следующие порты:
- 5060 udp Порт получения телефонной сигнализации модулем chan_PJSIP
- 5061 tcp Порт получения защищенной телефонной сигнализации модулем chan_PJSIP
- 10000-20000 udp — Получение RTP потока в рамках SIP сессии (Стандартно для FreePBX distro)
Перечисленные выше порты можно изменить в рамказ графического интерфейса FreePBX в модуле Sip settings
IP route (не обязательный пункт):
В подавляющем количестве случаев для успешной регистрации транка и прохождения звука в обе стороны достаточно внести ip адрес в iptables, но иногда, в зависимости от настроек сети, на АТС требуется дополнительно прописать маршруты.
Посмотреть действующие маршруты на АТС можно с помощью команды #
# ip route
![](/wp-content/uploads/2019/02/Screenshot_12.1-1024x184.png)
Чтоб добавить новый маршрут нужно прописать ip-адрес оператора и шлюз
![](/wp-content/uploads/2019/02/Screenshot_12.2-1024x147.png)
Чтоб маршруты сохранялись нужно прописать адрес в файл в route-eth0 который находится по следующему пути: /etc/sysconfig/network-scripts/route-eth0 . Как и ранее открываем этот файл с помощью nano.
![](/wp-content/uploads/2019/02/Screenshot_12.3-1024x149.png)
В следующем формате:
ADDRESS=80.246.247.97
NETMASK=255.255.255.255
GATEWAY=10.20.0.3
После чего сохраняем. Проверить, появился ли новый маршрут можно с помощью команды
# ip route
Регистрация транка:
Настройки транка буду выглядеть следующим образом:
username=74953402290
type=peer
secret=qwerty12345
qualify=yes
nat=force_rport,comedia
insecure=invite,port
host=195.94.224.208
fromdomain=195.94.224.208
disallow=all
context=from-trunk
allow=alaw
Строка регистрации выглядит следующим образом: xxxxxxxxxx:[email protected]/xxxxxxxxxx
Где xxxxxxxxxx – ваш логин (чаще всего совпадает с номером телефона, но в нашем случае это 889923), а yyyyyyyyyy – пароль.
Если провайдер вам выделил транк без регистрации, то поле secret, а так же строка регистрации заполнять не нужно.
Настройки будет проводить через web-интерфейс FreePBX. Тем не менее, он имеет мало отличий от, к примеру, web-интерфейса Elastix и данная статья, несмотря на ряд отличий в интерфейсе подойдет и для настройки транка через Elastix и любого другого форка FreePBX.
Настройка:
![](/wp-content/uploads/2019/02/Screenshot_13-4-1024x683.png)
Путь настройки к регистрации транка следующий: Connectivity – Trunks
![](/wp-content/uploads/2019/02/Screenshot_14-6-1024x683.png)
Нажимаем Add SIP Trunk
![](/wp-content/uploads/2019/02/Screenshot_15-4-1024x683.png)
- Trunk Name – Указываем имя для нашего транка
- Outbound CallerID – Настройка CallerID для исходящей связи
- CID Options – Настройки передачи CID. По умолчанию — Любые CID передача в линию любых цифр. Так же можно, к примеру, запретить иностранные и.т.д
- Maximum Channels – Максимальное количество активных каналов для разговоров вне локальной сети компании.
- Continue if Busy – Позволяет настроить перенаправление вызова на другой транк если этот канал будет занят «BUSY»или же будет ошибочный /неправильный номер «INVALID NUMBER»
- Disable Trunk – Включение и отключение транка для совершения исходящих и/или входящих вызовов с помощью чекбокса. Поумолчанию транк включен.
![](/wp-content/uploads/2019/02/Screenshot_16-5-1024x683.png)
Заполняем поля как показано выше на скриншоте. Всегда при заполнении имени транка желательно указывать осмысленное название, к примеру, название оператора-номер.
Правила набора номера
Правила набора номера используются для ограничения исходящих звонков через этот транк. Оставляем все поумолчанию т.к мы будем настраивать правила набора через «исходящую связь».
![](/wp-content/uploads/2019/02/Screenshot_18-3-1024x683.png)
Пример конфигурации:
Trunk Name: Sip-piter
PEER Details:
username=74953402290
type=peer
secret=qwerty12345
qualify=yes
nat=force_rport,comedia
insecure=invite,port
host=195.94.224.208
fromdomain=195.94.224.208
disallow=all
context=from-trunk
allow=alaw
Должно получиться как на скриншоте:
![](/wp-content/uploads/2019/02/Screenshot_19-4-1024x683.png)
Теперь заполним строку регистрации.
Register String:889923:[email protected]/74953402290
![](/wp-content/uploads/2019/02/Screenshot_20-2-1024x683.png)
Нажимаем Submit для сохранения введенных настроек, после чего не забываем нажимать на Apply Config для применения всех настроек.
Проверка регистрации:
Если вы все сделали правильно, то ваш транк должен был зарегистрироваться. Перед тем, как продолжить настройку давайте проверим регистрацию и статус транка. Для этого не обязательно подключаться через ssh к станции, все можно сделать через web-интерфейс FreePBX .
![](/wp-content/uploads/2019/02/Screenshot_21-2-1024x683.png)
Для этого переходим по следующему пути: Admin – Asterisk СLI .
![](/wp-content/uploads/2019/02/Screenshot_22-2-1024x683.png)
Через CLI Command можно проверить подключение транка. Для этого как и при обычном подключении через ssh нужно ввести следующую команду
![](/wp-content/uploads/2019/02/Screenshot_23-2-1024x683.png)
И нажать на Send Command
![](/wp-content/uploads/2019/02/Screenshot_24-2-1024x683.png)
Как мы видим — наш транк успешно зарегистрирован, но для того, чтоб можно было совершать исходящие и входящие звонки нужно настроить исходящую и входящую связь. Если у вас транк зарегистрировался, то переходите к следующей главе. Если транк не зарегестрировался или есть какие-то проблемы, то переходите к последней главе «Возможные проблемы при регистрации транка».
Исходящие маршруты:
![](/wp-content/uploads/2019/02/Screenshot_25-2-1024x683.png)
Создадим исходящий маршрут. Переходим по следующему пути: Connectivity — Outbound Routes
![](/wp-content/uploads/2019/02/Screenshot_26-2-1024x683.png)
Нажимаем Add «Outbound Route»
Для создания исходящего маршрута достаточно указать:
- Route Name – Желаемое название маршрута.
- Trunk Sequence for Matched Routes – здесь указываете, через какой именно транк будут осуществляться звонки. В нашем случае это sipnet
А так же Dial Patterns, о котором ниже
![](/wp-content/uploads/2019/02/Screenshot_27-2-1024x683.png)
Dial Patterns – Указываем шаблоны для набора номеров.
Правила набора номера:
- X соответствует любой цифре от 0 до 9
- Z соответствует любой цифре от 1 до 9
- N соответствует любой цифре от 2 до 9
- [1237-9] соответствует любой цифре в квадратных скобках (в этом примере, 1,2,3,7,8,9)
- . точка, соответствует любой цифре и букве, например — X. или 810X.
- prepend: Приставка — цифры добавлются к шаблону, например [8] [+7] [XXXXXXXXXX], в примере +7 отрезается, а 8 добавляется
- prefix: Префикс – удаление указанных цифр перед шаблоном, например [ ] [+7495] [XXXXXXX], в примере +7495 будет удалено и в линию попадет только 7-ый номер.
- Match pattern Шаблон — передает набор цифр, приставки и префиксы в линию оператора связи, например [ ] [ ] [1-9XXXXXX], в примере перебирается последовательность цифр от 1000000 до 9999999
- CallerID: Данное поле служит для ограничения исходящих звонков по определенным номера АТС. Например, [ ] [ ] [ZXXXXXX] [10X], в примере внутренние номера 100-109 могут осуществлять вызовы через данный шаблон.
Для теста, к примеру, сделаем возможность звонить на мобильные номера через этот транк. Настройки и диалплан будет выглядеть следующим образом:
![](/wp-content/uploads/2019/02/Screenshot_28-2-1024x683.png)
![](/wp-content/uploads/2019/02/Screenshot_29-2-1024x683.png)
Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек. Если вы сейчас все настроили правильно, то вы сможете дозвониться к примеру, на свой мобильный телефон.
В дальнейшем по аналогии настраиваете и вызовы на другие направления.
Входящие маршруты:
![](/wp-content/uploads/2019/02/Screenshot_30-2-1024x683.png)
Для настройки входящей маршрутизации переходим по следующему пути: Connectivity — Inbound Routes
![](/wp-content/uploads/2019/02/Screenshot_31-2-1024x683.png)
Нажимаем Add Incoming Route
![](/wp-content/uploads/2019/02/Screenshot_32-2-1024x683.png)
- Description – Желаемое описание маршрута
- DID Number — ID аккаунта Определить входящий DID номер, если ваша линия определяет DID номер на входящих звонках.
- CallerID Number – Определить номер CallerID, который будет отвечать за входящие звонки.
- Music On Hold — Музыка для ожидания вызова которую будет слышать клиент.
- Set Destination – Направление звонка при входящем
вызове.
Заполняем все как на скриншоте ниже
![](/wp-content/uploads/2019/02/Screenshot_33-2-1024x683.png)
Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек.
![](/wp-content/uploads/2019/02/Screenshot_34-2-1024x683.png)
На этом настройка транка завершена, если вы все сделали правильно, то сейчас вы сможете принимать входящие вызовы.
Возможные проблемы при регистрации транка:
Самые распространенные проблемы, с которыми вы можете столкнуться при регистрации любого sip-транка — самые банальные. Чаще всего это неправильный пароль и/или логин, учитывайте, что случайный пробел так же будет воспринят системой как символ.
Пример ошибки SIP Registrations в консоли asterisk:
[2017-09-12 14:21:23] NOTICE[2010]: chan_sip.c:23615 handle_response_register: Failed to authenticate on REGISTER to '[email protected]' (Tries 3)
[2017-09-12 14:21:37] NOTICE[2010]: chan_sip.c:15251 sip_reg_timeout: -- Registration for '[email protected]' timed out, trying again (Attempt #5)
Пример ошибки на стороне оператора в консоли asterisk:
![](/wp-content/uploads/2019/02/Screenshot_35-2-1024x314.png)
В это случае, прежде чем звонить оператору снимите дамп, к примеру с помощью программы sngrep
![](/wp-content/uploads/2019/02/Screenshot_36-2-1024x48.png)
Это поможет убедиться, что проблема точно не на вашей стороне, а наличие дампа поможет провайдеру устранить неполадку на своей стороне. Чтоб сохранить нужный вам участок дампа выбирайте его через пробел.
![](/wp-content/uploads/2019/02/Screenshot_37-2-1024x223.png)
После нужно нажать F2 для сохранения
![](/wp-content/uploads/2019/02/Screenshot_38-2-1024x171.png)
Высветится окно, где можно задать папку куда будет сохранен дамп, а так же под каким именем. Заполняем, как показано ниже на скриншоте и сохраняем.
![](/wp-content/uploads/2019/02/Screenshot_39-2-1024x531.png)
Все, дамп находится в папке root.
Если trunk не регистрируется и/или запрос на регистрацию даже не падает в консоль asterisk, то следует проверить настройки iptabels и firewall на asterisk, а так же на вашем сетевом оборудовании.
Помните, что кроме трафика на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf.
Если в качестве маршрутизатора вы используете Mikrotik, то рекомендуем ознакомиться со следующими статьями на нашем сайте:
Настройка файрвола на маршрутизаторах Mikrotik
Настройка маршрутизатора Mikrotik
Резервирование интернет-канала на маршрутизаторах Mikrotik
Настройка приоритезации VoIP-трафика на маршрутизаторах Mikrotik
Следуя нашим рекомендациям, вы сможете избежать большинства стандартных проблем вызванных неправильной настройкой Mikrotik.
![](/wp-content/uploads/2019/05/MG_1241.png)
Остались вопросы?
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.