Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
handbook:prefix [2016/12/01 12:00] tpor |
handbook:prefix [2016/12/05 14:43] (текущий) tpor |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Обработка входящих и исходящих вызовов. Файл extensions.conf ====== | + | ====== Обработка входящих вызовов. Файл extensions.conf ====== |
- | Часто возникает необходимость переопределения формата входящих/исходящих номеров, например, заменить префикс входящего звонка от некоторого провайдера с "7" на "8".\\ | + | Часто возникает необходимость переопределения формата входящих номеров, например, заменить префикс входящего звонка от некоторого провайдера с "7" на "8".\\ |
- | Предположим, у нас есть две объединенные АТС Askozia, условно обозначим их АТС N и АТС Z (статьи по объединению двух АТС: [[https://www.askozia.ru/blogs/askozia/askozia-to-combine-the-two-offices/|Объединение двух станций Askozia]] и [[http://blog.telefon1c.ru/soiediniaiem-mypbx-u100-s-askozia/|Соединяем MyPBX U100 c Askozia]]).\\ Необходимо, чтобы АТС Z принимала входящие звонки от АТС N с префиксом "7". Для этого выполним следующие действия:\\ | + | Предположим, у нас есть две объединенные АТС Askozia, условно обозначим их АТС Москва и АТС Питер (статьи по объединению двух АТС: [[https://www.askozia.ru/blogs/askozia/askozia-to-combine-the-two-offices/|Объединение двух станций Askozia]] и [[http://blog.telefon1c.ru/soiediniaiem-mypbx-u100-s-askozia/|Соединяем MyPBX U100 c Askozia]]).\\ Необходимо, чтобы АТС Питер принимала входящие звонки от АТС Москва с префиксом "8". Для этого выполним следующие действия:\\ |
- | 1. Вводим IP адрес АТС Z в браузере, переходим в **Учетные записи** -> **Провайдеры** и открываем для редактирования провайдер для АТС N.\\ | + | 1. Вводим IP адрес АТС Питер в браузере, переходим в **Учетные записи** -> **Провайдеры** и открываем для редактирования провайдер для АТС Москва.\\ |
2. Переходим в **Дополнительно**, находим текстовое поле **Manual Dialplan Incoming** и вставляем в него следующую строчку:\\ | 2. Переходим в **Дополнительно**, находим текстовое поле **Manual Dialplan Incoming** и вставляем в него следующую строчку:\\ | ||
- | ExecIf($[${CALLERID(num):0:1}=7]?Set(CALLERID(num)=8${CALLERID(num):1}))\\ | + | <code>ExecIf($[${CALLERID(num):0:1}=7]?Set(CALLERID(num)=8${CALLERID(num):1}))</code>\\ |
{{ :handbook:2016-12-01_114017.png?direct |}}\\ | {{ :handbook:2016-12-01_114017.png?direct |}}\\ | ||
Собственно и все, сохраняем настройки для провайдера и проверяем примененные настройки!\\ \\ | Собственно и все, сохраняем настройки для провайдера и проверяем примененные настройки!\\ \\ | ||
Строка 23: | Строка 23: | ||
**${foo}${bar}** - соединение двух строк.\\ \\ | **${foo}${bar}** - соединение двух строк.\\ \\ | ||
Таким образом, наши изменения в контексте конфигурационного файла можно интерпретировать следующим образом:\\ | Таким образом, наши изменения в контексте конфигурационного файла можно интерпретировать следующим образом:\\ | ||
- | ExecIf($[${CALLERID(num):0:1}=7]?Set(CALLERID(num)=8${CALLERID(num):1})) | + | <code>ExecIf($[${CALLERID(num):0:1}=7]?Set(CALLERID(num)=8${CALLERID(num):1}))</code>\\ |
- | 1. Получаем текущее значение входящего номера в виде строки с помощью функции CALLERID(). | + | 1. Получаем текущее значение входящего номера в виде строки с помощью функции CALLERID().\\ |
- | 2. Получаем первый символ данной строки (с помощью функции получения подстроки из строки). | + | 2. Получаем первый символ данной строки (с помощью функции получения подстроки из строки).\\ |
3. Если первый символ входящего номера равен "7", то устанавливаем текущему значению входящего номера новый номер, начинающийся с "8". Новый номер формируется соединением двух строк: "8" и номером текущего входящего номера без "7" (//8${CALLERID(num):1}//). | 3. Если первый символ входящего номера равен "7", то устанавливаем текущему значению входящего номера новый номер, начинающийся с "8". Новый номер формируется соединением двух строк: "8" и номером текущего входящего номера без "7" (//8${CALLERID(num):1}//). | ||