Реврайты планов набора Asterisk

Очередная заметка для себя, так сказать на память, поэтому она будет короткая и без «воды». Задача такая:

  • Создать правила набора (dialplan) с возможностью звонков по МГ с префиксом ‘+7’
  • Создать правила набора (dialplan) с возможностью звонков по МГ с префиксом ‘8’
  • Провайдер принимает звонки только с префиксом ‘7’ при МГ связи, поэтому в SIP Trunk провайдера все called number должны приходить с префиксом ‘7’

Все правила набора у нас описываются в файле

/etc/asterisk/extensions.conf
[outgoing]
exten => _7XXXXXXXXXX,1,Dial(SIP/Trunk/${EXTEN})
exten => _+7XXXXXXXXXX,1,Dial(SIP/Trunk/${EXTEN:1})
exten => _8XXXXXXXXXX,1,Dial(SIP/Trunk/7${EXTEN:1})

Первый экстеншн у нас описывает набор без всяких реврайтов, то есть провайдеру которому нужно, чтобы called number приходил с префиксом ‘7’ так его и получает в свой sip trunk.
Второй экстеншн разрешает вызовы с префиксом ‘+7’ но при передаче called number провайдеру убирает один первый символ набранного номера.

${EXTEN:x}

текущий экстеншн а ‘x’ колличество символов убираемых в начале набираемого номера при передаче его провайдеру SIP.
И собственно третий экстеншн разрешает вызовы начинающиеся префиксом ‘8’ и убрав первый символ по аналогии описанной во втором экстешене и подставляет префикс ‘7’ за счет

7${EXTEN:1})

Оцените статью