====== Объединение двух MikoPBX ======
[[:faq|Обратно к перечню инструкций]]\\ \\
Компания call-центра имеет два офиса в **Москве** и **Санкт-Петербурге**.\\
В каждом офисе используется **MikoPBX**:\\
* **АТС Москва** - //172.16.32.226// - все внутренние номера сотрудников назначены по шаблону **2ХХ**
* **АТС Петербург** - //172.16.32.227// - все внутренние номера сотрудников назначены по шаблону **3ХХ**\\
Необходимо объединить эти две АТС, реализовать единый внутренний план номеров: абоненты Москвы должны иметь возможность по короткому номеру набрать абонентов Петербурга и наоборот.\\
Схематично маршрутизация вызовов представлена на рисунке.\\
{{:faq:topology.png |}}
===== Провайдеры телефонии =====
Для каждой АТС необходимо добавить учетную запись провайдера. Для её создания необходимо перейти в **Маршрутизация** -> **Провайдеры телефонии**.\\
Создайте провайдеров и заполните параметры подключения как на скриншоте ниже:
{{ :faq:providers_msk_piter.jpg |}}
**Идентификатор провайдера появится в адресной строке только после записи провайдера**. Временно в поле "**Логин**" укажите производное значение. После записи провайдера можно его скорректировать.
В "**Расширенные настройки**" - "**Переопределение SIP заголовка "From"**" - установите влаг "Отключить использование поля **fromuser**"
В "**Расширенные настройки**" - "**Дополнительные параметры**" следует прописать:
[endpoint]
set_var=IGNORE_TIME=1
Эта опция отключит функционал "**Нерабочее время**" для всех входящих через этого провайдера.
{{ :faq:mikopbx_nastroĭka_sip_provaĭdera.png |}}
**IGNORE_TIME** - опция будет доступна в 2022.02.103+
===== Исходящая маршрутизация =====
Необходимо перейти в **Маршрутизация** -> **Исходящие маршруты**. Опишите исходящие маршруты как в скриншоте ниже:
{{ :faq:out_rout_piter_jpg_out_rout_msk_jpg_i_prov.jpg |}}
===== Входящая маршрутизация =====
Добавим **для каждой АТС одинаковое приложение диалплана**, которое будет переадресовывать звонки на внутренние номера . В разделе **Модули - Приложения диалпланов** добавим новое приложение:
{{ :faq:dialplan_income_app.jpg |}}
**Номер для вызова приложения** укажем произвольный уникальный номер, **Тип кода** выберем **Диалплан Asterisk**. Перейдем на закладку **Программный код** и добавим код обработки звонка:
1, GoTo(internal,${FROM_DID},1)
n, Hangup()
Создадим входящий маршрут для каждой АТС. Перейдем в раздел **Маршрутизация - Входящие маршруты**, добавим новое правило:
{{ :faq:income_msk_piter_rout.jpg |}}
===== Переадресация =====
В целях безопасности, переадресация на "**Внешние**" номера телефонов запрещена!
Чтобы снять ограничение, добавьте через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **extensions.conf** следующий текст:
[internal-transfer](+)
exten => _2XX,1,Set(__ISTRANSFER=transfer_)
same => n,Goto(outgoing,${EXTEN},1)
Это разрешит переадресацию на 2XX номера.
На второй АТС, чтобы разрешить переадресацию на 3XX номера
добавьте через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **extensions.conf** следующий текст
[internal-transfer](+)
exten => _3XX,1,Set(__ISTRANSFER=transfer_)
same => n,Goto(outgoing,${EXTEN},1)
===== Статусы абонентов =====
В некоторых случаях, абонентам одной АТС потребуется знать статусы абонентов другой станции.
К примеру при использовании:
* **BLF** на телефонных аппаратах
* "Панель телефонии для 1С"
Для настройки статусов потребуется:
- Добавьте **на первой АТС** через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **extensions.conf** следующий текст: [internal-hints]
exten => 301,hint,PJSIP/301
exten => 303,hint,PJSIP/303
exten => 302,hint,PJSIP/302
- Для **каждой АТС** добавьте через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **pjsip.conf**
[-devicestate]
type=outbound-publish
server_uri=sip:@:
event=asterisk-devicestate
[]
type=asterisk-publication
devicestate_publish=-devicestate
device_state=yes
[]
type=inbound-publication
event_asterisk-devicestate=
Замените теги ****, ****, **** на свои значения
- Добавьте **на второй АТС** через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **extensions.conf** следующий текст: [internal-hints]
exten => 201,hint,PJSIP/201
exten => 203,hint,PJSIP/203
exten => 202,hint,PJSIP/202
Пример также можно посмотреть в [[https://wiki.asterisk.org/wiki/display/AST/Exchanging+Device+and+Mailbox+State+Using+PJSIP | официальной документации]] asterisk
===== Одинаковые номера на АТС =====
В идеале, на каждой АТС должен быть свой диапазон номеров SIP и они не должны пересекаться. Но на практике, возможно и наложение. В этом случае можно столкнуться с проблемой звонка с одной АТС на другую, вызов может обрываться.
Проблему можно обойти, **на каждой АТС** следует добавить через раздел [[:custom-files|Кастомизация системных файлов]] в конец файла **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//):\\
{{ :faq:provider_peterb_stat_1.png |}}\\
Для **АТС Петербург**(//172.16.32.227//):\\
{{ :faq:provider_msk_stat_1.png |}}\\ \\
Аналогичным образом можно подключить **три** и даже **четыре** станции! Нужно понимать, что в случае соединения трех АТС каждая АТС должна иметь не один, а уже два провайдера. Схематично это изобразить можно так:\\
{{ :faq:2018-08-17_163757.png |}}\\ \\
[[:faq|Обратно к перечню инструкций]]