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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FQvcuqaGieZX0m7MoutUm%2FCustomizationFilesMenu.png?alt=media&#x26;token=9aa4670e-73be-45af-8512-ad5bc9ffd9fd" alt=""><figcaption><p>Меню кастомизации системных файлов</p></figcaption></figure>

2. Откройте для редактирования конфигурационный файл **extensions.conf**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FA3LCI7r47uWs6J57IeL3%2FextensionsConf.png?alt=media&#x26;token=a4b0fca8-0a34-4974-96c4-d90d54d4cf47" alt=""><figcaption><p>Редактирование файла Extensions.conf</p></figcaption></figure>

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

```php
[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()
```

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F4RkXTsEMGBZoB7O50710%2Fcode.png?alt=media&#x26;token=31d1ccce-2436-4ef5-b23f-1ced3e3c060b" alt=""><figcaption><p>Код для extension.conf</p></figcaption></figure>

4. Для каждого провайдера необходимо описать [исходящий маршрут](https://docs.mikopbx.com/mikopbx/manual/routing/outbound-routing)
5. Заполните для сотрудников мобильные номера [см. документацию](https://docs.mikopbx.com/mikopbx/manual/telephony/extensions)
6. Ограничьте использование исходящих маршрутов для пользователей, используйте модуль «[Группы пользователей](https://docs.mikopbx.com/mikopbx/modules/miko/module-users-groups)»
7. Теперь если выходящий вызов направить на мобильный сотрудника, к примеру через [IVR меню](https://docs.mikopbx.com/mikopbx/manual/telephony/ivr-menu), то вызов будет направлен через того же провайдера, через которого пришел

{% hint style="warning" %}
ВНИМАНИЕ: Инструкции актуальны только для MikoPBX **2022.2.96**+
{% endhint %}
