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

. Просмотров: 7669

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

У многих записная книжка в телефоне забита в формате +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|" не работают.

 

Комментарии  

0 # Олег 27.02.2014 09:47
Очень хороший вопрос в конце статьи. А самое главное, то, что Вы не один такой. Но есть интересная инфа: когда я первый раз тестировал Elastix, то у меня получалась подмена 8 на +7 и наоборот через транки и исходящие правила, но, как назло, когда я уже наигрался с серваком, я уже начал его разворачивать на нормальном серверном железе, а тут на тебе - не работает! я и сам не понял юмора. Но сегодня попробую восстановить бэкап на тестовом серваке, дабы посмотреть как я тогда настраивал. Могу потом отписать в коментах или на форуме, если создадите тему соответствующую .
0 # Андрей 27.02.2014 16:25
Очень важный вопрос вы тут затронули. Мне очень нужно менять 8 на +7 именно в зависимости от транка. Если Вам удастся восстановить конфиги с тестового сервера поделитесь, пожалуйста.
0 # alex 27.02.2014 17:09
Статья очень старая.

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

Вот пример из моего исходящего правила. Заменяем +7 на 8 и добавляем 8 где цифр в номере 10.
http://i2s.me/i13.jpg.html ("http://i2s.me/i13.jpg.html")

Делалось это для корректного отзвона. Просто один оператор у меня показывает номер как +7, а другой вообще без кода страны для Российских номеров.
0 # Олег 28.02.2014 12:42
Итак, как я и обещал, отписываюсь о возможности подмены.
Так как в моём случае нужно было убить сразу 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 нуля.

Недостаточно прав для комментирования