Объединение пиров с похожим именем
Asterisk 1.8.5.0
Имеется в наличии диалплан, вида:
| Code: |
| exten => user1,1,Set(NUM=${SIP_HEADER(Contact)}) same => n,Set(NUM=${CUT(NUM,@,1)}) same => n,Set(NUM=${CUT(NUM,:,2)}) same => n,GotoIf($[${NUM}=123456789]?client:cout) same => n(client),Goto(1,1) same => n(cout),Dial(SIP/gotoprov/${NUM},30) exten => user2,1,Set(NUM=${SIP_HEADER(Contact)}) same => n,Set(NUM=${CUT(NUM,@,1)}) same => n,Set(NUM=${CUT(NUM,:,2)}) same => n,GotoIf($[${NUM}=123456789]?client:cout) same => n(client),Goto(1,1) same => n(cout),Dial(SIP/gotoprov/${NUM},30) ... |
и так много раз, для всех выполняются одинаковые действия, хотелось бы упростить диалплан записав их одной строкой, вопрос как это сделать? С цифровыми все понятно, а вот с буквенными не совсем
Т.е я хочу указать запись вида
exten => userXX ......
| Quote: |
| exten =>_userXX,1,NoOp(Hi ${EXTEN:4}) same => n,NoOP(Hi ${EXTEN}) |
| Quote: |
| == Using SIP RTP CoS mark 5 -- Executing [user12@sip_lines:1] NoOp("SIP/iokunev-mbl-000001f3", "Hi 12") in new stack -- Executing [user12@sip_lines:2] NoOp("SIP/iokunev-mbl-000001f3", "Hi user12") in new stack |
что я делаю не так ?
exten => user1,1,Macro(Dial,${EXTEN})
...
exten => user200,1,Macro(Dial,${EXTEN})
[macro-Dial]
exten => s,1,Set(NUM=${SIP_HEADER(Contact)})
...
exten => s,n(cout),Dial(SIP/gotoprov/${NUM},30)
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6GB / 160GB
Gentoo Linux || Asterisk 1.8.5 | SFA | FFA | Datacard
Вот так
| Quote: |
| exten => _user.,1,Set(NUM=${SIP_HEADER(Contact)}) |
заработало
А так
| Quote: |
| exten => _userXX,1,Set(NUM=${SIP_HEADER(Contact)}) |
нет.