четверг, 14 июня 2018 г.

Реврайты планов набора 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})
 
Возникаю случаи необходимости смены номера для корректной обработки провайдером.
 
подстановка CallerID 123456789
exten => _XXX.,1,Set(CALLERID(num)=123456789)         
same => n,Dial(SIP/trunk/${EXTEN})

Комментариев нет:

Отправить комментарий