Инструменты пользователя

Инструменты сайта


faq:connectats2

Объединение двух MikoPBX

Обратно к перечню инструкций

Компания call-центра имеет два офиса в Москве и Санкт-Петербурге.
В каждом офисе используется MikoPBX:

  • АТС Москва - 172.16.32.226 - все внутренние номера сотрудников назначены по шаблону 2ХХ
  • АТС Петербург - 172.16.32.227 - все внутренние номера сотрудников назначены по шаблону 3ХХ

Необходимо объединить эти две АТС, реализовать единый внутренний план номеров: абоненты Москвы должны иметь возможность по короткому номеру набрать абонентов Петербурга и наоборот.

Схематично маршрутизация вызовов представлена на рисунке.

Провайдеры телефонии

Для каждой АТС необходимо добавить учетную запись провайдера. Для её создания необходимо перейти в МаршрутизацияПровайдеры телефонии.

Создайте провайдеров и заполните параметры подключения как на скриншоте ниже:

Идентификатор провайдера появится в адресной строке только после записи провайдера. Временно в поле «Логин» укажите производное значение. После записи провайдера можно его скорректировать.

В «Расширенные настройки» - «Переопределение SIP заголовка «From»» - установите влаг «Отключить использование поля fromuser»

В «Расширенные настройки» - «Дополнительные параметры» следует прописать:

[endpoint]
set_var=IGNORE_TIME=1 

Эта опция отключит функционал «Нерабочее время» для всех входящих через этого провайдера.

IGNORE_TIME - опция будет доступна в 2022.02.103+

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

Необходимо перейти в МаршрутизацияИсходящие маршруты. Опишите исходящие маршруты как в скриншоте ниже:

Входящая маршрутизация

Добавим для каждой АТС одинаковое приложение диалплана, которое будет переадресовывать звонки на внутренние номера . В разделе Модули - Приложения диалпланов добавим новое приложение:

Номер для вызова приложения укажем произвольный уникальный номер, Тип кода выберем Диалплан Asterisk. Перейдем на закладку Программный код и добавим код обработки звонка:

1, GoTo(internal,${FROM_DID},1)
n, Hangup()

Создадим входящий маршрут для каждой АТС. Перейдем в раздел Маршрутизация - Входящие маршруты, добавим новое правило:

Переадресация

В целях безопасности, переадресация на «Внешние» номера телефонов запрещена!

Чтобы снять ограничение, добавьте через раздел Кастомизация системных файлов в конец файла extensions.conf следующий текст:

[internal-transfer](+)
exten => _2XX,1,Set(__ISTRANSFER=transfer_)
     same => n,Goto(outgoing,${EXTEN},1) 

Это разрешит переадресацию на 2XX номера.

На второй АТС, чтобы разрешить переадресацию на 3XX номера добавьте через раздел Кастомизация системных файлов в конец файла extensions.conf следующий текст

[internal-transfer](+)
exten => _3XX,1,Set(__ISTRANSFER=transfer_)
     same => n,Goto(outgoing,${EXTEN},1) 

Статусы абонентов

В некоторых случаях, абонентам одной АТС потребуется знать статусы абонентов другой станции.

К примеру при использовании:

  • BLF на телефонных аппаратах
  • «Панель телефонии для 1С»

Для настройки статусов потребуется:

  1. Добавьте на первой АТС через раздел Кастомизация системных файлов в конец файла extensions.conf следующий текст:
    [internal-hints]
    exten => 301,hint,PJSIP/301
    exten => 303,hint,PJSIP/303
    exten => 302,hint,PJSIP/302
    
  2. Для каждой АТС добавьте через раздел Кастомизация системных файлов в конец файла pjsip.conf
    [<ID-Провайдера-Текщуей-АТС>-devicestate]
    type=outbound-publish
    server_uri=sip:<ID-Провайдера-Текщуей-АТС>@<ID-Провайдера-Другой-АТС>:<SIP-Порт-Другой-АТС>
    event=asterisk-devicestate
     
    [<ID-Провайдера-Текщуей-АТС>]
    type=asterisk-publication
    devicestate_publish=<ID-Провайдера-Текщуей-АТС>-devicestate
    device_state=yes
    
    [<ID-Провайдера-Текщуей-АТС>]
    type=inbound-publication
    event_asterisk-devicestate=<ID-Провайдера-Текщуей-АТС>
    
Замените теги <ID-Провайдера-Текщуей-АТС>, <ID-Провайдера-Другой-АТС>, <SIP-Порт-Другой-АТС> на свои значения
  1. Добавьте на второй АТС через раздел Кастомизация системных файлов в конец файла extensions.conf следующий текст:
    [internal-hints]
    exten => 201,hint,PJSIP/201
    exten => 203,hint,PJSIP/203
    exten => 202,hint,PJSIP/202
    
Пример также можно посмотреть в официальной документации asterisk

Одинаковые номера на АТС

В идеале, на каждой АТС должен быть свой диапазон номеров SIP и они не должны пересекаться. Но на практике, возможно и наложение. В этом случае можно столкнуться с проблемой звонка с одной АТС на другую, вызов может обрываться.

Проблему можно обойти, на каждой АТС следует добавить через раздел Кастомизация системных файлов в конец файла extensions.conf следующую логику:

[ID_PROVIDER-outgoing-custom]
; При исходящем в caller ID добавляем префикс "_" (нижнее подчеркивание)
exten => _X!,1,Set(CALLERID(num)=_${CALLERID(num)})
	same => n,return

[ID_PROVIDER-incoming-custom]
; При входящем удаляем префикс, для корректного отображения callerid
exten => _[0-9*#+]!,1,Set(CALLERID(num)=${CALLERID(num)=:1})
	same => n,return
ID_PROVIDER - это идентификатор провайдера текущей АТС, подсмотреть можно в адресной строке браузера.

Итоги

Таким образом мы соединили две АТС! Подтверждением успешного подключения двух станций служит зеленый индикатор напротив учетной записи провайдера.

Для АТС Москва(172.16.32.226):

Для АТС Петербург(172.16.32.227):


Аналогичным образом можно подключить три и даже четыре станции! Нужно понимать, что в случае соединения трех АТС каждая АТС должна иметь не один, а уже два провайдера. Схематично это изобразить можно так:


Обратно к перечню инструкций

faq/connectats2.txt · Последние изменения: 2022/11/15 13:52 — Портнов Алексей