Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
faq:specific_provider [2019/02/13 15:16] Портнова Татьяна [Второй способ] |
faq:specific_provider [2020/04/05 15:09] (текущий) |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
===== Постановка задачи ===== | ===== Постановка задачи ===== | ||
- | В Askozia 6 (//Телефония -> Сотрудники//) настроены следующие учетные записи сотрудников:\\ | + | В MikoPBX (//Телефония -> Сотрудники//) настроены следующие учетные записи сотрудников:\\ |
{{ :faq:2018-10-02_122750.png |}}\\ \\ | {{ :faq:2018-10-02_122750.png |}}\\ \\ | ||
- | В Askozia 6 настроены **два провайдера** от поставщика услуг связи Zadarma (//Маршрутизация -> Провайдеры телефонии//):\\ | + | В MikoPBX настроены **два провайдера** от поставщика услуг связи Zadarma (//Маршрутизация -> Провайдеры телефонии//):\\ |
{{ :faq:2018-10-02_122916.png |}}\\ \\ | {{ :faq:2018-10-02_122916.png |}}\\ \\ | ||
Строка 26: | Строка 26: | ||
{{ :faq:2018-10-02_160947.png |}} | {{ :faq:2018-10-02_160947.png |}} | ||
- | Реализовать эту задачу можно двумя способами в Askozia:\\ | + | Реализовать эту задачу можно двумя способами в MikoPBX:\\ |
- Абоненты 201 и 202 всегда на телефоне будут добавлять определенные префиксы перед набираемым номером, т.е. если они хотят позвонить на номер 74952293042, они перед этим номером добавляют префикс 1 или 2, например 174952293042\\ \\ | - Абоненты 201 и 202 всегда на телефоне будут добавлять определенные префиксы перед набираемым номером, т.е. если они хотят позвонить на номер 74952293042, они перед этим номером добавляют префикс 1 или 2, например 174952293042\\ \\ | ||
- Абоненты 201 и 202 **не набирают** специальные префиксы, за них это действие выполняет сама АТС. | - Абоненты 201 и 202 **не набирают** специальные префиксы, за них это действие выполняет сама АТС. | ||
Строка 41: | Строка 41: | ||
1. Добавляем **исходящие правила** для первого и второго провайдера Zadarma, как описано в [[faq:specific_provider#первый_способ|первом способе]]. Настройки все идентичны. \\ \\ | 1. Добавляем **исходящие правила** для первого и второго провайдера Zadarma, как описано в [[faq:specific_provider#первый_способ|первом способе]]. Настройки все идентичны. \\ \\ | ||
2. В разделе **Маршрутизация** -> **Провайдеры телефонии** добавьте третью учетную запись провайдера со следующими данными:\\ | 2. В разделе **Маршрутизация** -> **Провайдеры телефонии** добавьте третью учетную запись провайдера со следующими данными:\\ | ||
- | {{ :faq:2019-02-13_181408.png |}}\\ | + | {{ :faq:2019-02-15_125523.png |}}\\ |
{{ :faq:2019-02-13_181148.png |}}\\ | {{ :faq:2019-02-13_181148.png |}}\\ | ||
{{ :faq:2019-02-13_181159.png |}}\\ | {{ :faq:2019-02-13_181159.png |}}\\ | ||
3. Сохраните учетную запись и в адресной строке скопируйте ID данного провайдера.\\ | 3. Сохраните учетную запись и в адресной строке скопируйте ID данного провайдера.\\ | ||
- | {{ :faq:2019-02-13_181234.png |}} | + | {{ :faq:2019-02-15_125753.png |}} |
- | 4. Переходим в раздел **Система** -> **Кастомизация системных файлов**. Открываем для редактирования конфигурационный файл **extensions.conf**. \\ {{ :faq:2018-10-02_123824.png |}}\\ | + | 4. Добавьте **исходящее правило** для созданного провайдера. Все звонки по умолчанию мы будем направлять через данного провайдера, поэтому будьте внимательны при создании исходящего шаблона. Звонки через провайдеров Zadarma можно осуществлять на номера, начинающиеся с 7, поэтому наш шаблон принимает вид:\\ |
+ | {{ :faq:2019-02-15_125539.png |}}\\ | ||
+ | 5. Обратите внимание, **приоритет** исходящего правила для провайдера **Route** должен быть ниже всех!\\ | ||
+ | {{ :faq:2019-02-15_130304.png |}}\\ | ||
+ | 6. Переходим в раздел **Система** -> **Кастомизация системных файлов**. Открываем для редактирования конфигурационный файл **extensions.conf**. \\ {{ :faq:2018-10-02_123824.png |}}\\ | ||
Выбираем режим "**Добавлять в конец файла**". \\ {{ :faq:2018-10-02_123857.png |}}\\ \\ | Выбираем режим "**Добавлять в конец файла**". \\ {{ :faq:2018-10-02_123857.png |}}\\ \\ | ||
- | 5. В окне редактирования вставляем следующие строки:\\ | + | 7. В окне редактирования вставляем следующие строки:\\ |
<code> | <code> | ||
+ | [globals](+) | ||
+ | MIKO_PREFIX_NUMBER_201=1; Префикс для внутреннего номера 201 | ||
+ | MIKO_PREFIX_NUMBER_202=2; Префикс для внутреннего номера 202 | ||
+ | |||
[SIP-PROVIDER-3B7181D15C7C6079BE3DF5D97A8558B4-outgoing-custom] | [SIP-PROVIDER-3B7181D15C7C6079BE3DF5D97A8558B4-outgoing-custom] | ||
exten => _.!,1,ExecIf($[ "${PREFIX_NUMBER}x" != "x" ]?return) | exten => _.!,1,ExecIf($[ "${PREFIX_NUMBER}x" != "x" ]?return) | ||
+ | same => n,ExecIf($[ "${MIKO_PREFIX_NUMBER}x" == "x" ]?Set(MIKO_PREFIX_NUMBER=${MIKO_PREFIX_NUMBER_${CHANNEL(peername)}})) | ||
same => n,Set(PREFIX_NUMBER=${MIKO_PREFIX_NUMBER}) | same => n,Set(PREFIX_NUMBER=${MIKO_PREFIX_NUMBER}) | ||
same => n,ExecIf($[ "${MIKO_PREFIX_NUMBER}x" != "x" ]?Goto(outgoing,${MIKO_PREFIX_NUMBER}${EXTEN},4)) | same => n,ExecIf($[ "${MIKO_PREFIX_NUMBER}x" != "x" ]?Goto(outgoing,${MIKO_PREFIX_NUMBER}${EXTEN},4)) | ||
same => n,return | same => n,return | ||
+ | | ||
+ | [all_peers-custom] | ||
+ | include => internal-custom | ||
+ | |||
+ | [internal-custom] | ||
+ | exten => _.!,1,NoOp(Start custom context) | ||
+ | same => n,ExecIf($[ "${MIKO_PREFIX_NUMBER}x" == "x" ]?Set(MIKO_PREFIX_NUMBER=${MIKO_PREFIX_NUMBER_${FROM_PEER}})) | ||
+ | same => n,Return() | ||
</code> | </code> | ||
+ | В выше приведенном фрагменте кода Вам необходимо составить правильное наименование контекста.\\ | ||
+ | Формат создаваемого контекста:\\ | ||
+ | <code> | ||
+ | [ID-ПРОВАЙДЕРА-outgoing-custom] | ||
+ | </code> | ||
+ | * **ID-ПРОВАЙДЕРА** - значение, которое вы сохранили на третьем шаге, описанном в данном способе. В нашем примере это **SIP-PROVIDER-3B7181D15C7C6079BE3DF5D97A8558B4**. | ||
+ | |||
+ | Ниже красным цветом выделен фрагмент, который Вам необходимо изменить.\\ | ||
{{ :faq:2019-02-13_181603.png |}}\\ | {{ :faq:2019-02-13_181603.png |}}\\ | ||
- | Все исходящие звонки должны проходить через контекст **miko-peers-custom**. Перед набираемым исходящим номером **${EXTEN}** всегда должен добавляться префикс **${MIKO_PREFIX_NUMBER}**. Следовательно нам осталось для каждой учетной записи (201 и 202) указать префикс **${MIKO_PREFIX_NUMBER}**, которая должна добавлять АТС перед звонком на номер. Для 201 учетной записи - это префикс 1, для 202 учетной записи - префикс 2. \\ \\ | + | |
**Сохраняем** изменения и возвращаемся обратно к списку конфигурационных файлов.\\ \\ | **Сохраняем** изменения и возвращаемся обратно к списку конфигурационных файлов.\\ \\ | ||
- | 4. Переходим в раздел **Телефония** -> **Сотрудники**. Для сотрудника с 201 номером переходим к расширенным настройкам.\\ {{ :faq:2019-02-07_153719.png |}}\\ | + | |
- | В поле **Дополнительные параметры SIP учетки** добавляем следующие строки:\\ | + | Таким образом для 201 и 202 учетных записей мы задали префиксы. Все исходящие звонки теперь будут проходить через требуемого провайдера.\\ \\ |
- | <code> | + | |
- | context=miko-peers-custom | + | ==== Маршрут "По умолчанию" ==== |
- | setvar=MIKO_PREFIX_NUMBER=1 | + | В ряде случаев, при описании входящих маршрутов необходимо направить вызов не на внутренний номер, а на мобильный номер сотрудника. В этом случае необходимо описать "Префикс по умолчанию", иначе могу возникнуть проблемы с обработкой таких вызовов. |
- | </code>\\ | + | |
- | {{ :faq:2019-02-07_172128.png |}}\\ | + | При маршрутизации по DID номеру: |
- | Таким образом для 201 учетной записи мы задали префикс 1. Все исходящие звонки теперь будут проходить через первого провайдера.\\ \\ | + | |
- | 5. Аналогичные действия выполняем для учетной записи с внутренним номером 202. В поле **Дополнительные параметры SIP учетки** добавляем следующие строки:\\ | + | |
<code> | <code> | ||
- | context=miko-peers-custom | + | [public-direct-dial-custom] |
- | setvar=MIKO_PREFIX_NUMBER=2 | + | exten => _.!,1,NoOp(Start custom context) |
- | </code>\\ | + | same => n,Set(__MIKO_PREFIX_NUMBER=2) |
- | Таким образом для 202 учетной записи мы задали префикс 2. Все исходящие звонки теперь будут проходить через второго провайдера.\\ \\ | + | same => n,Return() |
+ | </code> | ||
+ | |||
+ | Для **каждого** провайдера следует также описать контекст: | ||
+ | <code> | ||
+ | [ID-ПРОВАЙДЕРА-incoming] | ||
+ | exten => _.!,1,NoOp(Start custom context) | ||
+ | same => n,Set(__MIKO_PREFIX_NUMBER=2) | ||
+ | same => n,Return() | ||
+ | </code> | ||
На этом настройка завершена! | На этом настройка завершена! | ||
+ | |||
+ | [[faq:|Обратно к инструкциям]] |