ded писал(а):
Если хочется варьировать - то вообще не должно быть этого парметра, а передавать${CALLERID(num)} через диал план.
Вот оно в чем дело. Теперь понятно.
В начале года я искал как настроить один транк с множеством номеров, несколько дней читал и тестировал разные варианты, но безрезультатно. В итоге решил сделать как
ded посоветовал тут
https://forum.asterisk.ru/viewtopic.php?p=24156
Собственно вокруг этого и начал строить исходящую часть.
Соответственно в свете прояснившегося становится понятно предложение
april22
Спасибо, всем кто принимал конструктивное участие.
Резюмируя тему опишу свое решение:
1 Настройка транка ростелеком:
sip.conf
Код: Выделить всё
[rt_trunk]
type=friend
host=???.???.???.???
directmedia=yes
context=inbound-from-rt-trunk
insecure=port,invite
disallow=all
allow=alaw
2 Настойка внутр.абонентов
При необходимости привязки внешнего номера к абоненту пишем его свойство
3 Делаем следующую конструкцию в extensions.conf
Код: Выделить всё
[1111232]
exten => _X.,1,Set(trnum=831${CDR(dcontext)}) ; 831 код города, так требует пров
exten => _X.,2,Goto(default,${EXTEN},1)
[default]
...
exten => _89XXXXXXXXX,2,Macro(outbound,${trnum},${EXTEN},32,ktS(1800))
...
[macro-outbound]
exten => s,1,Set(CDR(userfield)=outbound)
exten => s,n,Gotoif($["test${ARG1}" = "test"]?free)
exten => s,n,Set(CALLERID(num)=${ARG1})
exten => s,n,Dial(SIP/rt_trunk/${ARG2},${ARG3},${ARG4})
...
exten => s,n(free),Set(CALLERID(num)=8312222222)
exten => s,n,Dial(SIP/rt_trunk/${ARG2},${ARG3},${ARG4})
...