В предыдущем руководстве мы говорили об установке FreePBX. Теперь поговорим о создании транка для входящих вызовов.
Что вам понадобится:
- работающий FreePBX
- одна учётная запись SIP (или несколько для резервирования)
- один или несколько DID
- настроенный FreePBX
Работающий FreePBX:
Руководство по установке FreePBX: https://multitel.net/docs/view/671/tutorials/installing-freepbx
Одна учётная запись SIP (или несколько — для резервирования)
Начать можно с создания учётной записи SIP здесь: https://multitel.net/trunks/accounts
Нажмите кнопку «Создать новый (Create New)». Появится новое окно. Скопируйте имя пользователя SIP (SIP Username) и пароль SIP (SIP password) и сохраните их в своих заметках. Они понадобятся позже.
По завершении нажмите кнопку «Отправить (Submit)».

В нашем примере мы создали следующую учётную запись SIP:
Имя пользователя SIP: [SIP_USERNAME]
Пароль SIP: [SIP_PASSWORD]
(В вашем случае имя пользователя и пароль SIP будут другими. Используйте собственные имя пользователя и пароль SIP. Приведённые выше данные были удалены после написания этого руководства)
Что касается используемого SIP-прокси, вы можете выбрать один из следующих (перечислены в алфавитном порядке):
| Континент | Страна | SIP-прокси |
| Африка | Южная Африка | sbc-za.multitel.net |
| Азия | Сингапур | sbc-sg.multitel.net |
| Австралия и Океания | Австралия | sbc-au.multitel.net |
| Европа | Нидерланды | sbc-nl.multitel.net |
| Европа | Германия | sbc-de.multitel.net |
| Европа | Великобритания | sbc-uk.multitel.net |
| Северная Америка | Канада | sbc-ca.multitel.net |
| Северная Америка | Соединённые Штаты Америки | sbc-us.multitel.net |
| Южная Америка | Бразилия | sbc-br.multitel.net |
Итак, если вы находитесь в Европе, вам следует выбрать один из европейских SIP-прокси. Вы можете проверить доступность каждого из них с помощью ping и определить, какой из них ближе к вашему местоположению:
По результатам моего собственного тестирования ближайшим оказался sbc-ca.multitel.net с временем прохождения сигнала туда и обратно около 20-21ms.

Итак, мои учетные данные для этого руководства теперь будут такими:
Имя пользователя SIP: [SIP_USERNAME]
Пароль SIP: [SIP_PASSWORD]
SIP-прокси: sbc-ca.multitel.net
Один или несколько DID-номеров:
Вы можете купить DID-номер здесь: https://multitel.net/numbers/rent
ИЛИ
Вы можете использовать один из уже имеющихся у вас номеров: https://multitel.net/numbers/inventory
ИЛИ
Вы можете подключить собственного оператора (Bring Your Own Carrier): https://multitel.net/numbers/byoc
Что бы вы ни делали, в итоге вы окажетесь здесь:
https://multitel.net/numbers/inventory
Вам необходимо убедиться, что ваши номера DID отправляют вам вызовы с того же SIP Proxy, который вы используете для регистрации SIP. Вот как это сделать:
Измените номер:
Сначала перейдите сюда: https://multitel.net/numbers/inventory

Найдите номер и нажмите кнопку Edit Number:

Найдите параметр «Origination trunk» и установите значение «sbc-ca.multitel.net» — или ближайший к вам SIP-сервер.

Далее убедитесь, что DID отправляет вызовы в вашу SIP-учётную запись.
Установите в меню "Call Action" (действие для вызова) значение "SIP Account" (учётная запись SIP) , и убедитесь, что в меню "SIP Account" выбрана та SIP-учётная запись, которую вы собираетесь использовать.
Теперь всё, что вам нужно было сделать на портале MultiTEL, выполнено. Перейдем к следующему шагу:
Настроенный FreePBX:
Откройте ваш сервер FreePBX в веб-браузере:
Нажмите «FreePBX Administration». У вас запросят имя пользователя и пароль. Помните, что вы задавали их в нашем предыдущем руководстве «Установка FreePBX»
Активацию, скорее всего, можно пропустить. На ваше усмотрение.
Могут появиться новые окна с рекламой. Нажимать на них или пропускать — на ваше усмотрение. Чтобы это руководство было кратким, я их пропущу.
Мне пришлось выбрать локали:
Могут появиться и другие рекламные окна; советую пропускать их или нажимать «Abort», если кнопки «Skip» нет.
Я сразу перейду в «Connectivity» и выберу «Trunks»:

Нажмите кнопку «Add Trunk» и выберите «Add SIP (chan_pjsip) Trunk»:
Вот что нужно указать в новом окне:
Имя транка: можно смело указать MultiTEL
Максимальное число каналов: Это ограничение PBX управляет количеством одновременных звонков; оно не меняет тарифный план вашего номера. Количество включённых каналов и минут зависит от плана. План с оплатой по использованию не содержит включённых минут. В одобренном пакете для местных номеров США два одновременных входящих звонка могут использовать ежемесячный пакет из 100 000 минут. Если дополнительные одновременные звонки разрешены, третий одновременный звонок оплачивается за всю его продолжительность и не расходует эти минуты; если они отключены, он отклоняется. Звонки сверх включённых минут оплачиваются по ставке использования, установленной планом. Значение 2 в этом поле PBX ограничивает одновременные звонки в PBX, но не отменяет плату за использование и не настраивает приём дополнительных одновременных звонков на уровне номера. Проверьте план своего номера и актуальные тарифы.
Параметры набора транка Asterisk: мне всегда нравится генерировать гудок, поэтому я нажму кнопку «Override» и установлю параметры «Ttr» («Tt» — разрешить вызывающей или вызываемой стороне переводить вызов, «r» — генерировать гудок)
Затем перейдите на вкладку «pjsip Settings».
Заполните поля учетными данными SIP, полученными на шаге «A single SIP account».
SIP Username: [SIP_USERNAME]
SIP Password: [SIP_PASSWORD]
SIP Proxy: sbc-ca.multitel.net
Напоминаем: используйте собственные учетные данные SIP. Указанные выше учетные данные БОЛЬШЕ НЕ СУЩЕСТВУЮТ и использовались только для написания этого руководства. Попытка использовать эти несуществующие тестовые учетные данные приведет к блокировке вашего IP-адреса.
Как минимум, я настрою следующие параметры:
Обратите внимание, что я изменил контекст на «from-multitel» (изначально было установлено «from-pstn»). Это изменение важно, так как оно позволяет нам дополнительно обрабатывать вызовы с нескольких входящих DID-номеров, используя одну учетную запись SIP (а не одну учетную запись SIP для каждого DID).
На вкладке Codecs я оставлю только ulaw и alaw:
Я нажму кнопку Submit:

А затем проигнорируйте всплывающее меню, которое появится (я предпочитаю настраивать исходящий CID на добавочных номерах, а не один исходящий CID на каждый транк. Так я могу использовать несколько caller ID на одном транке, а не определять несколько транков — по одному на каждый нужный caller ID)
Итак, нажмите «OK»
Страница обновится, и вы увидите свой новый SIP-транк. Нажмите красную кнопку «Применить конфигурацию» (Apply Config) в правом верхнем углу экрана:

После обновления экрана и исчезновения красной кнопки Apply Config вы можете проверить в интерфейсе командной строки Asterisk, успешно ли зарегистрировалась ваша учётная запись SIP.
Войдите по SSH на свой сервер FreePBX и выполните:
asterisk -rx 'pjsip show registrations' | grep multitel
Вы должны увидеть вывод, похожий на приведённый ниже:
Теперь, когда SIP-регистрация работает, давайте создадим входящий маршрут для наших DID.
Перейдите в «Connectivity» и выберите «Inbound Routes»:
Нажмите кнопку «Add Inbound Route» (добавить входящий маршрут).
Для целей этого теста я просто направлю входящие вызовы на Echo test:

После сохранения мы будем перенаправлены на главный экран Inbound routes (входящие маршруты):
Мы почти закончили. Пока что нажмите красную кнопку «Apply Config» (применить конфигурацию) в правом верхнем углу экрана.
Помните, что при настройке SIP-транка мы изменили контекст на «from-multitel»? Последний шаг — добавить этот контекст.
Нам придётся сделать это из консоли сервера:
nano /etc/asterisk/extensions_custom.conf
Добавьте следующие строки:
[from-multitel]
; exten => s,1,Set(DID=${SIP_HEADER(X-DID)}) ; set this if using chan_sip
exten => s,1,Set(DID=${PJSIP_HEADER(read,X-DID)}) ; set this if using chan_pjsip
exten => s,2,Goto(from-pstn,${DID},1)
Сохраните (CTRL+O , Enter , CTRL+X ) , а затем перезагрузите диалплан asterisk:
asterisk -rx 'dialplan reload'
Готово: теперь ваши входящие вызовы должны проходить без проблем. Теперь у вас может быть несколько DID, использующих одну и ту же учетную запись SIP.
PS: как это работает? Мы настроили учетную запись SIP на использование пользовательского контекста «from-multitel». Затем в контексте «from-multitel» мы обрабатываем переменную SIP с именем «X-DID» и устанавливаем вызываемый номер в ее значение. После этого вызов возвращается в контекст «from-pstn».