Очередная заметка для себя, так сказать на память, поэтому она будет короткая и без «воды». Задача такая:
- Создать правила набора (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})