Rose debug info
---------------

Как заменить +7 на 8 для Elastix

У многих записная книжка в телефоне забита в формате +7,  а большинство Российских операторов ip телефонии этот формат не понимают и ждут номера начинающегося на 8.
Это инструкция как автоматически сделать подмену +7 на 8 в Elastix (Asterisk)

 

Для замены +7 на 8 в Elastix необходимо внести изменения в файл extensions_custom.conf. Для этого входим в панель управления Elastix, закладка PBX -> Tools, меню Asterisk File Editor. Листаем и находим необходимый нам файл extensions_custom.conf, и открываем его, нажав левой кнопкой мыши.
Находим в файле строку [from-internal-custom] и сразу после неё добавляем строку:

 

exten => _+7XXXXXXXXXX,1,GoTo(outbound-allroutes,8${EXTEN:2},1)

Нажимаем Save.

Изменения вступят в силу после перезагрузки Астериска. Самый простой способ перезагрузить Астериск закладка PBX -> Tools, меню Asterisk-Cli, в поле Command ввести reload и нажать кнопку Execute. Также можно с консоли или просто перезагрузить компьютер на котором установлен Астериск.


 

Если вы знаете как можно сделать подмену +7 на 8 через Trunk или Outbound Routes — подскажите. Вариант с «8+7|» или «8+.7|» не работают.

В последних версиях Elastix это легко делается для исходящих правил. В prepend пишем +7, а в prefix 8.
Думаю также можно поступить и указав в самом транке.

Вот пример из моего исходящего правила. Заменяем +7 на 8 и добавляем 8 где цифр в номере 10.

Делалось это для корректного отзвона. Просто один оператор у меня показывает номер как +7, а другой вообще без кода страны для Российских номеров.


Итак, как я и обещал, отписываюсь о возможности подмены.
Так как в моём случае нужно было убить сразу 2х зайцев, поэтому у меня и не выходил каменный цветок, а именно:
Есть sip-провайдер (по умолчанию он принимает номера, набранные через +7), нужно на него выход сделать через 9.
Соответственно делал так:
Например мне нужно звонить в город (Москва и мобильные — 11 значные номера), соответственно делал так: в оutbound routes создал роут: prepand (пусто) + prefix (9) | match patern (XXXXXXXXXXX) — здесь очень внимательным нужно быть к количеству иксов! Дело в том, что сначала я думал, что девятку тоже надо обозначать иксом или приписывать перед ними, но такая схема не работала, в итоге я понял, что иксов (или других спецсимволов) должно быть ровно столько, сколько в номере цифр!
Дальше, что касается подмены 8ки на 7ку:
Это я разрулил на сиповском транке вот таким образом prepand (7) + prefix (8) | match patern (.X)
Теперь у меня всё работает!
P.S. В случае, если должна быть обратная замена 7ки на 8ку, то соответственно: prepand (8) + prefix (7) | match patern (.X)
P.S. Если у вас не 7, а +7, то нужно пробовать как и +7 и как 007, потому что некоторые провайдеры и телефонные станции + расценивают как 2 нуля.

 

Поделиться
Отправить
 964   2021   asterisk