Доброго дня, о великие гуру астериска !
Помогите плиз из сообщения Invite из поля To вытащить номер :
To: "Bla bla bla" <sip:12345678@192.168.0.1>;tag=as5d19244b
выгугленым кодом :
[custom-get-did-from-sip]
exten => s,1,Noop(Fixing DID using information from SIP TO header)
exten => s,n,Set(pseudodid=${SIP_HEADER(To)})
exten => s,n,Set(pseudodid=${CUT(pseudodid,@,1)})
exten => s,n,Set(pseudodid=${CUT(pseudodid,:,2)})
exten => s,n,Goto(from-trunk,${pseudodid},1)
не получается. Видимо из-за того что есть поле в кавычках "Bla bla bla"
p.s. по функции CUT никак не "вкурю", как пользоваться параметром range-spec
CUT(varname,char-delim,range-spec)
кто нибудь может на пальцах объяснить, можно с примером. (пример отсюда http://www.voip-info.org/wiki/view/Asterisk+cmd+Cut не понял)
exten => s,1,NoOp( == Incoming call from == ${CALLERID(number)} == )
exten => s,n,NoOp( == SIP_HEADER(To) == ${SIP_HEADER(To)} == )
exten => s,n,NoOp( == SIP_HEADER(From) == ${SIP_HEADER(From)} == )
exten => s,n,NoOp( == SIP_HEADER(Call-ID) == ${SIP_HEADER(Call-ID)} == )
exten => s,n,NoOp( == TESTAT From == ${CUT(CUT(SIP_HEADER(From),\:,2),@,1)} == )
exten => s,n,NoOp( == REC To1 == ${CUT(CUT(SIP_HEADER(To),@,1),:,2)} == )
exten => s,n,NoOp( == REC To2 == ${CUT(CUT(SIP_HEADER(To),\:,2),@,1)} == )
Задан: 2012-12-25 06:15:44 +0400
Просмотрен: 2,171 раз
Обновлен: Dec 25 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.