Код: Выделить всё
exten => _ZXXXXXX/123,1,Set(CALLERID(num)=6543210)
exten => _ZXXXXXX,n,Dial(SIP/Operator/${EXTEN})
Код: Выделить всё
exten => _ZXXXXXX/1XX,1,Set(CALLERID(num)=6543210)
exten => _ZXXXXXX/2XX,1,Set(CALLERID(num)=7654321)
exten => _ZXXXXXX,n,Dial(SIP/Operator/${EXTEN})
Код: Выделить всё
exten => _ZXXXXXX/123,1,Set(CALLERID(num)=6543210)
Код: Выделить всё
exten => _ZXXXXXX/123,2,Noop(Bla-bla-bla)
Код: Выделить всё
exten => _ZXXXXXX,2,Noop(Opa-opa-opa)
Код: Выделить всё
exten => _ZXXXXXX/6543210,2,Noop(Opa-opa-opa)
Да согласен, но это будет бесконечно долго при большом количестве внешних номеров и внутренних абонентов, вспотеешь когда потребуется внести изменения...ded писал(а):...
проверять соответствие внутренний номер - внешний номер и задавать переменной исходящий транк можно без макроса
Код: Выделить всё
exten => _ZXXXXXX/10[1-7],1,Macro(outbound,6543210,${EXTEN},32,ktS(3600))
...
[macro-outbound]
...
exten => s,n,Dial(SIP/trunk${ARG1}/${ARG2},${ARG3},${ARG4})
...
Код: Выделить всё
[rt_trunk]
...
fromuser=${CALLERID(num)}
...
Код: Выделить всё
exten => s,1,NoOp(-------${ARG1}---${OUT_${DIAL_TRUNK}}---${CALLERID(number)}-----)
exten => s,n,Set(CALLERID(number)=1)
exten => s,n,NoOp(тут будет всякая подстановка определителя )
exten => s,n,Set(CALLERID(number)=${DB(USER/${ARG1}/callerid)})
exten => s,n,Execif($["${CALLERID(number)}"=""]?Hangup())
exten => s,n,NoOp(-------------${CALLERID(number)}---------------- )
Не очень понял что происходит в этом куске кода. Не хватает части кода откуда вызывается макрос, что в качестве arg1 передается, и что подставляется в dial.april22 писал(а): в астДБ храню отпределители как мне заблагорассудится . может пригодится
Пардон, но что далее по тексту предлагаете? портянку из конструкции _X./2222 ? вариант 1 или вариант 2 ?Wapo писал(а): ...
далее по тексту
Нет единой схемы для всех провайдеров. У некоторых user= CallerID, у некоторых это разные вещи, и под одним юзером он может оригинировать в мир закреплённые за ним CallerID.sergio писал(а):Фокус с подстановкой CALLERID(num) во fromuser транка не проходит. Иль я не правильно это делаю? :Код: Выделить всё
[rt_trunk] ... fromuser=${CALLERID(num)} ...
sergio писал(а):Пардон, но что далее по тексту предлагаете?
Код: Выделить всё
asterisk -rx 'database put USER/154 callerid 79089999999'