Не могу разобраться с dynamic features. Необходимо в ходе разговора обработать приходящий от одной из сторон DTMF info.
При вызове от внутреннего пира звонок должен уходить второй стороне через транк. Инициируется он с помощью AMI и при ответе уходит в dialplan (необходимо делать несколько параллельных вызовов, потому вызов делается через Originate AMI):
Код: Выделить всё
exten => _XXXXXXX,1,Set(__DYNAMIC_FEATURES=dtmffeature)
exten => _XXXXXXX,2,Gosub(sub-recording,${EXTEN},1)
exten => _XXXXXXX,3,Bridge(SIP/${EXTEN}-)
exten => _XXXXXXX,4,Hangup()
Код: Выделить всё
[applicationmap]
dtmffeature => 1,self/callee,NoOp,test
Код: Выделить всё
<--- SIP read from UDP:99.88.77.66:5060 --->
INFO sip:66.55.44.33:2307 SIP/2.0
Via: SIP/2.0/UDP 99.88.77.66:5060;branch=z9hG4bK227437;rport
From: <sip:110@sip.rds.com>
To: "110" <sip:siptrunk_2158048@sip.rds.com:2307>;tag=as0678f88b
CSeq: 103 INFO
Max-Forwards: 70
Call-ID: 523e57cc7fad02ba7f29c715265dac33@sip.rds.com
Content-Length: 23
Content-Type: application/dtmf-relay
Signal=1
Duration=2000
<------------->
Настройки транка:
Код: Выделить всё
[rds]
type=friend
qualify=no
host=sip.com
insecure=port,invite
fromdomain=sip.com
dtmfmode=info
context=rd
disallow=all
allow=alaw
allow=ulaw