Выбор провайдера при переадресации на мобильный

Задача: На АТС заведено несколько провайдеров А,Б,В,Г… Вызов поступает на MikoPBX через провайдера А. При наборе мобильного номера сотрудника вызов должен также идти через провайдера А. Провайдер должен поддерживать более одного одновременного вызова.

  1. Перейдите в раздел СистемаКастомизация системных файлов

Меню кастомизации системных файлов
  1. Откройте для редактирования конфигурационный файл extensions.conf.

Редактирование файла Extensions.conf
  1. Установите режим «Добавлять в конец файла». В черное окно добавьте следующий фрагмент кода:

[all-outgoing-custom]
exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(-)
    same => n,NoOp("${PROVIDER_ID}" --- "${ONLY_THIS_PROVIDER}")
    same => n,Set(NEED_RETURN=${UNDEFINED})
    same => n,ExecIf($["${ONLY_THIS_PROVIDER}x" == "x"]?return)
    same => n,ExecIf($["${PROVIDER_ID}" != "${ONLY_THIS_PROVIDER}"]?Set(NEED_RETURN=1))
    same => n,ExecIf($["${PROVIDER_ID}" != "${ONLY_THIS_PROVIDER}"]?Set(ROUTFOUND=${UNDEFINED}))
    same => n,Return()
    
[add-trim-prefix-clid-custom]
exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(start check blacklist)
    same => n,ExecIf($["${CHANNEL(channeltype)}" == "PJSIP" ]?Set(__ONLY_THIS_PROVIDER=${CHANNEL(endpoint)}))
    same => n,Return()
Код для extension.conf
  1. Для каждого провайдера необходимо описать исходящий маршрут

  2. Заполните для сотрудников мобильные номера см. документацию

  3. Ограничьте использование исходящих маршрутов для пользователей, используйте модуль «Группы пользователей»

  4. Теперь если выходящий вызов направить на мобильный сотрудника, к примеру через IVR меню, то вызов будет направлен через того же провайдера, через которого пришел

Last updated

Was this helpful?