четверг, 1 сентября 2011 г.

Пара приемов с макросами для Asterisk

Так как на станции у меня довольно большой диалплан с разным количеством контекстов, порой приходится использовать один и тотже код для описания стандартной процедуры вызова

Например выход на межгород

[macro-MGMN]
exten => s,1,Set(CALLERID(num)=${ARG1})
exten => s,n,Dial(SIP/MGMN_OUT/${ARG2}) ; транк на межгород
exten => s,n,Hangup

и далее в контекстах я просто выполняю один и тотже макрос и произвожу замену стандартной 8ки на e.164, т.е. 7 ку: 

exten => _8.,1,Macro(MGMN,номер с которого будем звонить,7${EXTEN:1})

Вот таким нехитрым образом диал план превращаяется в нечто осмысленное и читабельное.