Настройка FreePBX + GoIP
В Интернете довольно много примеров настройки. Но ни один из них у меня не заработал как надо. Одной из проблем с которой я столкнулся было неправильное определение линии при входящем звонке. В свое время нигде не нашел мануал для решения этой проблемы. Поэтому решил выложить свою версию инструкции здесь. Заодно и шпаргалка для себя на будущее.
Настройка GoIP
«Configurations» — «Preferences»
GSM шлюз находится в локальной сети без доступа в Интернет. Настроим NTP сервер в локальной сети для раздачи времени. При перезагрузке GSM шлюз синхронизируется и правильно показывает текущее время. Можете пропустить этот шаг, тогда придется вручную выставлять время на шлюзе. Если есть выход в Интернет, то укажите один из публичных NTP серверов.
«Configurations» — «Network»
«Configurations» — «Basic VoIP»
Config Mode — Config by Line.
Для первого канала где «Line 1 Routing Prefix» укажем 1, для второго 2, третьего 3 и т.д.
Authentication ID: прописываем номер сим карты (у меня прописаны без 8/+7), например 9651234567
SIP Registrar Server: IP адрес SIP сервера (192.168.0.10)
То же самое проделываем с остальными линиями.
«Configurations» — «Advance VoIP»
«Configurations» — «Call Out»
Для каждой линии указываем префикс, который приходит с Asterisk и будет удалятся на канале шлюза перед совершением исходящего звонка: например для для CH1 Dial Plan: 1:-1, CH2 Dial Plan: 2:-2 и т.д.
«Configurations» — «Call In»
В инструкциях по настройке рекомендуют для CID Forward Mode: выбрать Use CID as SIP Caller ID для правильного определения входящего номера. У меня выбрано Use Remote Party Id. Это было сделано для правильного определения линии, с которой пришел вызов. Входящий номер определяется правильно.
На этом закончили настройку GoIP.
Настройка FreePBX 14
«Подключения» — «Транки»
Выбираем «Добавить SIP (chan_sip) транк».
Вкладка «Общие»
Переходим на вкладку «Правила манипуляции набора номера»
Прописываем шаблоны. Указываем префиксы для каждого транка по порядку. Для первой линии 1, для второй 2 и т.д.
Вкладка «sip Общие настройки»
Исходящий
У Астериска для нескольких учетных записей использует один и тот же порт. Это создает проблему при определении линии с которой пришел вызов. При входящем звонке всегда используется последний зарегистрированный пир и как следствие неправильно определяется линия на GoIP с которой пришел вызов. Для правильного определения линии, на GoIP был выбран режим Use Remote Party Id, а на Астриске trustrpid=yes.
Входящий
Далее создадим внутренние номера и группу вызова. Как это делается описывать не буду. В FreePBX это делается через меню «Приложения» — «Внутренние номера» и «Приложения» — «Группы вызова». Все довольно просто и интуитивно понятно.
«Подключения» — «Исходящая маршрутизация»
Выбираем «Добавить исходящий маршрут».
Вкладка «Настройки маршрута»
Укажем название маршрута, например all_line. Далее укажем по порядку транки через которые будут совершаться исходящие вызовы.
Переходим на вкладку «Правила набора»
Здесь прописываем шаблоны для исходящих номеров.
Остальные вкладки оставляем по умолчанию. На этом настройка исходящего маршрута завершена. Можно попробовать совершить вызов.
Здесь может возникнуть проблема, что звонки будут уходить через транки в том порядке, в каком они указаны в маршруте. Что в свою очередь приведет к тому, что единицы на первых линиях будут уходить больше чем на тех, которые идут за ними. Для решения этой задачи можно переписать правила для исходящего маршрута с помощью extensions_override_freepbx.conf.
В зависимости от количества линии, можно использовать рандом. Для двух линии например 1,2. Я использую такой код
«Подключения» — «Входящая маршрутизация»
Добавить входящий маршрут.
Вкладка «Общие»
Указываем его описание, например — «inbound».
Далее выбираем последний пункт «Установить направление», в котором выбираем конечную точку маршрута. В моем случае я указал группу вызова чтобы звонки поступали любому свободному оператору.
На самом деле у меня более сложная логика. С помощью AGI скрипта входящий номер ищу в базе данных, если нашел, то отправлю его оператору за которым он закреплен. До поступления звонка на sip клиент через jabber отправляю сообщение оператору с информацией о клиенте. Если номер не найден в базе, то звонок поступает в группу.
На этом настройка завершена. Можно пробовать звонить и принимать звонки.
Эта статья является этапом курса по настройке FreePBX 14 маршрутизация вызовов:
Следующим шагом после подключения к провайдеру услуг телефонной связи, необходимо настроить маршрутизацию вызовов. Как сделать маршрутизацию исходящих и входящих вызовов для транков SIP или PjSIP, расскажем в этой статье.
Маршрутизация вызова – важнейшая задача по настройке офисной УАТС. В настройках входящей маршрутизации, как правило, компании реализуют свои бизнес-процессы – направляют вызовы с определенных номеров на IVR или очереди, c других номеров на Ring Group (группы вызова), а третьи напрямую на ответственного менеджера. При исходящей маршрутизации, можно учитывать направление вызова, например, если у вас 2 провайдера IP – телефонии, и один из них дает наилучшую цену для звонков во Владивосток, а другой для звонков на Москву.
Исходящая маршрутизация
Для настройки исходящей маршрутизации вызовов в FreePBX 14 необходимо перейти на вкладку Connectivity → Outbound Routes.
Route Settings
На первой вкладке доступны параметры:
Dial Patterns
На данной вкладке определяется формат набора номера.
Dial Patterns – определяет формат набираемого номера и производимые с ним модификации. Шаблон содержит поля:
Шаблон Match Pattern имеет следующий формат:
Шаблон | Описание |
X | Любое целое число от 0 до 9 |
Z | Любое целое число от 1 до 9 |
N | Любое целое число от 2 до 9 |
1237 | Любые целые числа. Например, перечисление: 1[0-35-9] |
. | Точка. Любой набор символов, соответствует одному или нескольким символам. |
ВАЖНО: FreePBX ищет совпадения, сопоставляя Prefix и Match Pattern.
Import/Export Patterns
Additional Settings
В заключении хотелось бы сделать акцент на безопасности. Не используйте такие форматы набираемых номеров как: . и X. Как это предлагает оператор Zadarma тут и тут. Это не безопасно! Используйте заведомо известные направления. Мы сформировали для вас список маршрутов из Россвязи в соответствии с Приказом Минкомсвязи России от 25.04.2017 №205 “Об утверждении и введении в действие Российской системы и плана нумерации”:
Спецслужбы:
КДУ Бесплатные (Код доступа к услуге):
КДУ Платные (Код доступа к услуге):
Мобильные. Не следует использовать маску _89. – так как в этой маске присутствуют международные маски номеров дружественных государств: Казахстан, Абхазия и т.д.
Междугородние:
Международные:
Входящая маршрутизация
Для настройки входящей маршрутизации вызовов в FreePBX 14 необходимо перейти на вкладку Connectivity → Inbound Routes.
Основной пункт настройки – DID Number. Данный параметр вы получаете от вашего провайдера и, как правило, он совпадает с подключаемым номером. Даем имя нашему входящему маршруту – чтобы не путаться, мы советуем так же дать имя в соответствие с номером. Далее, самое главное – поле Set Destination. Выбираем назначение для нашего звонка. Это может быть как IVR, проверка времени, Ring Group, Extensions, DISA или любая другая подсистема обработки вызовов.
На этом настройка FreePBX 14 маршрутизация вызовов завершена.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Шаблоны и правила набора номера в FreePBX Distro (Asterisk, Elastix)
Эта статья описывает принцип работы исходящей маршрутизации, шаблонах и правилах набора номера, расскажет что такое префикс и приставка в FreePBX Distro (дистрибутив Линукса с предустановленным Астериском и FreePBX), но как и прежде по аналогии можно будет настроить и другие дистрибутивы с Астериском которые используют FreePBX, например Elastix или Trixbox.
Итак, для того что бы астериск мог совершить звонок вне нашей IP-АТС он должен знать какой номер (в каком формате) по какому транку передать. Для этого предназначен раздел Исходящая маршрутизация (Outbound Routes), в нём мы можем создать несколько маршрутов в каждом маршруте может быть использовать несколько транков. Маршруты астериск перебирает по порядку сверху вниз, как только находит совпадение в шаблоне номера использует транки в маршруте, перебирает их так же сверху вниз, если первый маршрут по какой-то причине не сработал (например занят, не работает, какой-то иной сбой) используется второй и так далее по списку.
Учитывая то что маршруты перебираются сверху вниз, первыми по списку лучше пускать более детальные маршруты, например с кодом города, после них пускать маршруты с более общей маской например мобильники, затем уже страну, потому что если сделать наоборот то сработает маршрут страны, но не сработают остальные, впрочем остановимся более подробно на шаблонах (Шаблоны номеров, используемые на этом маршруте \ Dial Patterns that will use this Route).
В шаблоне есть поля: приставка(prepend), префикс (prefix) и совпадение шаблона (match pattern), раньше были не поля, в какой-то момент времени использовалась запись как в конфиг файлах астериска
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
FreePBX 13 – маршрутизация вызова
Создаем входящие и исходящие маршруты
Подключив SIP – транк к нашему Asterisk, следующим шагом необходимо настроить маршрутизацию вызова. Как это сделать исходящие и входящие маршруты во FreePBX 13 расскажем в сегодняшней статье:
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk
Маршрутизация вызова является важнейшей задачей в настройке офисной АТС. В настройках входящей маршрутизации, как правило, компании реализуют свои бизнес процессы – направляют вызовы с определенных номеров на IVR, c других номеров на Ring Group (группы вызова), а третьи напрямую на ответственного менеджера. При исходящей маршрутизации, можно учитывать направление вызова, например, если у вас 2 провайдера IP – телефонии, и один из них дает наилучшую цену для звонков в Сибирь, а другой для звонков на Урал.
Пошаговое видео
Исходящие маршруты
Начнем с настройки исходящей маршрутизации во FreePBX 13. Для этого перейдем во вкладку Connectivity → Outbound Routes
Открываем интерфейс настройки на первичной вкладке Route Settings.
Давайте разберемся, что можно здесь настроить:
Отлично, мы разобрались со вкладкой Route Settings, теперь перейдем ко вкладке Dial Patterns, в которой мы будем определять формат набора номера. Вот как выглядит типичная настройка на маршруте:
Давайте разбираться более подробно:
Шаблон набора номера (Dial Pattern) – это уникальный набор цифр, который позволяет отправить вызов в нужный SIP – транк. Если шаблон совпадает, то вызов отправляется через SIP – транк в сторону провайдера.
Шаблон набора номера имеет 4 поля настройки: Prepend, Prefix, Match Pattern и CallerID.
(prepend) prefix | [ match pattern / caller ID ]
Шаблон | Описание |
---|---|
X | Любое целое число от 0 до 9 |
Z | Любое целое число от 1 до 9 |
N | Любое целое число от 2 до 9 |
[#####] | Любое целое число в скобка. Например, перечисление – [1.2.7], или диапазон чисел –[1.2.6-9], в который попадают числа 1,2,6,7,8,9 |
.(точка) | Любой набор символов |
Теперь давайте разберемся с полями, которые доступны для заполнения:
ВАЖНО: Asterisk ищет совпадения сопоставляя поле Prefix и Match Pattern.
Теперь наш маршрут готов. Мы можем совершать исходящие вызовы. Но как настроить входящую маршрутизацию во FreePBX 13? Перейдем во вкладку Connectivity → Inbound Routes
Входящие маршруты
На этом настройка маршрутизации во FreePBX13 завершена
Продвинутый курс по Asterisk
Концентрат редких знаний, для внедрения Asterisk в крупных предприятиях. Все это мы собрали в одном курсе для тебя.
Управление исходящей маршрутизацией вызовов
Часто возникают ситуации когда необходимо настраивать исходящую связь из Asterisk в зависимости от направлений. В данной статье рассматривается один из способов настройки исходящей маршрутизации средствами FreePBX с использованием шаблонов.
1. Создание маршрута
2. Шаблоны
3. Описание поля Dial Patterns
Создание маршрута
Управление исходящей маршрутизацией осуществляется на вкладке Connectivity > Outbound Routes
Основными полями здесь являются: Route Name — имя маршрута, Dial patterns that will use this Route — здесь перечисляются шаблоны, используемые в данном маршруте, Trunk Sequence for Matched Routes — указываются маршруты используемые на этом направлении. В принципе этих полей достаточно для нормального функционирования исходящей маршрутизации.
Также здесь можно указать время работы данного маршрута в поле Time Group — целесообразно использовать на дорогостоящих направлениях, например, международных, а также приоритет использования маршрута — Route Position.
Шаблоны номера
Шаблон — номер, некоторые цифры которого заменяются подстановочными символами и группами символов. Можно использовать следующие символы:
Можно использовать следующие шаблоны:
Описание поля Dial Patterns
Данное поле имеет следующий вид:
Prepend + Добавляет префикс к номеру
Prefix | Удаляет указанный префикс из набора номера
Match Pattern Собственно сам шаблон
/CallerID — можно указать внутренний номер для которого будет работать данный маршрут.
Например, международный маршрут открывается для внутреннего номера 401 и в нем происходит подмена 8 на 7: