Подключение оператора связи 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 через web-интерфейс FreePBX.
Преднастройка:
Настройка будет производиться на Asterisk 13.19.2, версия centos 6.9 (final), а в качестве web интерфейса используется FreePBX 13.0.192.19
Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже
Версия CentOS:
Подключитесь к IP ATC с помощью PuTTY
Зайдите как root пользователь
И выполните следующую команду cat /etc/redhat-release
Версия Asterisk:
Для того, чтоб узнать версию asterisk, достаточно ввести следующую команду asterisk –rvvv
Данные от оператора следующие:
- Логин — 889923
- Пароль – qwerty12345
- IP — 195.94.224.208:5060
- Номер – 74953402290
- Приоритетные кодеки g711a (PCMA) или g729.
Перед тем, как приступить к регистрации нового транка необходимо добавить ip-адрес провайдера в iptables иначе возникнут проблемы с регистрацией данного номера. Для этого выполняем следующие шаги:
Переходим в раздел /usr/src
Теперь выгружаем наши правила в файл «dd» с помощью команды iptables-save > dd
После чего откройте любым удобным для вас текстовым редактором файл «dd». В нашем случае мы будем использовать текстовый редактор nano.
Прописываем ip-адрес оператора
И теперь выходим командой CTRL+C и не забываем сохранить настройки кнопкой «Y»
Все. Файлик мы изменили и подготовили, теперь осталось его загрузить. Выполняется это следующей командой: iptables-restore < dd
Теперь, чтоб после перезагрузки АТС не сбились настройки нужно сохранить изменённый iptables. Выполняем команду «service iptables save».
И так, если вы все сделали правильно, то в списке разрешенных адресов окажется необходимый нам ip. Это можно проверить с помощью команды iptables –L -nv
Отлично, мы добавили адрес и теперь можем приступить к непосредственной регистрации и настройки номера.
Так же для работы корректной работы нужно чтоб на сетевом оборудовании и в 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
Чтоб добавить новый маршрут нужно прописать ip-адрес оператора и шлюз
Чтоб маршруты сохранялись нужно прописать адрес в файл в route-eth0 который находится по следующему пути: /etc/sysconfig/network-scripts/route-eth0 . Как и ранее открываем этот файл с помощью nano.
В следующем формате:
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.
Настройка:
Путь настройки к регистрации транка следующий: Connectivity – Trunks
Нажимаем Add SIP Trunk
- Trunk Name – Указываем имя для нашего транка
- Outbound CallerID – Настройка CallerID для исходящей связи
- CID Options – Настройки передачи CID. По умолчанию — Любые CID передача в линию любых цифр. Так же можно, к примеру, запретить иностранные и.т.д
- Maximum Channels – Максимальное количество активных каналов для разговоров вне локальной сети компании.
- Continue if Busy – Позволяет настроить перенаправление вызова на другой транк если этот канал будет занят «BUSY»или же будет ошибочный /неправильный номер «INVALID NUMBER»
- Disable Trunk – Включение и отключение транка для совершения исходящих и/или входящих вызовов с помощью чекбокса. Поумолчанию транк включен.
Заполняем поля как показано выше на скриншоте. Всегда при заполнении имени транка желательно указывать осмысленное название, к примеру, название оператора-номер.
Правила набора номера
Правила набора номера используются для ограничения исходящих звонков через этот транк. Оставляем все поумолчанию т.к мы будем настраивать правила набора через «исходящую связь».
Пример конфигурации:
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
Должно получиться как на скриншоте:
Теперь заполним строку регистрации.
Register String:889923:[email protected]/74953402290
Нажимаем Submit для сохранения введенных настроек, после чего не забываем нажимать на Apply Config для применения всех настроек.
Проверка регистрации:
Если вы все сделали правильно, то ваш транк должен был зарегистрироваться. Перед тем, как продолжить настройку давайте проверим регистрацию и статус транка. Для этого не обязательно подключаться через ssh к станции, все можно сделать через web-интерфейс FreePBX .
Для этого переходим по следующему пути: Admin – Asterisk СLI .
Через CLI Command можно проверить подключение транка. Для этого как и при обычном подключении через ssh нужно ввести следующую команду
И нажать на Send Command
Как мы видим — наш транк успешно зарегистрирован, но для того, чтоб можно было совершать исходящие и входящие звонки нужно настроить исходящую и входящую связь. Если у вас транк зарегистрировался, то переходите к следующей главе. Если транк не зарегестрировался или есть какие-то проблемы, то переходите к последней главе «Возможные проблемы при регистрации транка».
Исходящие маршруты:
Создадим исходящий маршрут. Переходим по следующему пути: Connectivity — Outbound Routes
Нажимаем Add «Outbound Route»
Для создания исходящего маршрута достаточно указать:
- Route Name – Желаемое название маршрута.
- Trunk Sequence for Matched Routes – здесь указываете, через какой именно транк будут осуществляться звонки. В нашем случае это sipnet
А так же Dial Patterns, о котором ниже
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 могут осуществлять вызовы через данный шаблон.
Для теста, к примеру, сделаем возможность звонить на мобильные номера через этот транк. Настройки и диалплан будет выглядеть следующим образом:
Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек. Если вы сейчас все настроили правильно, то вы сможете дозвониться к примеру, на свой мобильный телефон.
В дальнейшем по аналогии настраиваете и вызовы на другие направления.
Входящие маршруты:
Для настройки входящей маршрутизации переходим по следующему пути: Connectivity — Inbound Routes
Нажимаем Add Incoming Route
- Description – Желаемое описание маршрута
- DID Number — ID аккаунта Определить входящий DID номер, если ваша линия определяет DID номер на входящих звонках.
- CallerID Number – Определить номер CallerID, который будет отвечать за входящие звонки.
- Music On Hold — Музыка для ожидания вызова которую будет слышать клиент.
- Set Destination – Направление звонка при входящем
вызове.
Заполняем все как на скриншоте ниже
Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек.
На этом настройка транка завершена, если вы все сделали правильно, то сейчас вы сможете принимать входящие вызовы.
Возможные проблемы при регистрации транка:
Самые распространенные проблемы, с которыми вы можете столкнуться при регистрации любого 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:
В это случае, прежде чем звонить оператору снимите дамп, к примеру с помощью программы sngrep
Это поможет убедиться, что проблема точно не на вашей стороне, а наличие дампа поможет провайдеру устранить неполадку на своей стороне. Чтоб сохранить нужный вам участок дампа выбирайте его через пробел.
После нужно нажать F2 для сохранения
Высветится окно, где можно задать папку куда будет сохранен дамп, а так же под каким именем. Заполняем, как показано ниже на скриншоте и сохраняем.
Все, дамп находится в папке root.
Если trunk не регистрируется и/или запрос на регистрацию даже не падает в консоль asterisk, то следует проверить настройки iptabels и firewall на asterisk, а так же на вашем сетевом оборудовании.
Помните, что кроме трафика на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf.
Если в качестве маршрутизатора вы используете Mikrotik, то рекомендуем ознакомиться со следующими статьями на нашем сайте:
Настройка файрвола на маршрутизаторах Mikrotik
Настройка маршрутизатора Mikrotik
Резервирование интернет-канала на маршрутизаторах Mikrotik
Настройка приоритезации VoIP-трафика на маршрутизаторах Mikrotik
Следуя нашим рекомендациям, вы сможете избежать большинства стандартных проблем вызванных неправильной настройкой Mikrotik.
Остались вопросы?
Я - Компаниец Никита, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.