====== Объединение двух 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|Обратно к перечню инструкций]]