【发布时间】:2019-07-22 13:42:53
【问题描述】:
我正在尝试通过 SIPp 发送 DTMF。由于 play_pcap_audio 操作不是 100% 可靠的,我想构建 SIP INFO 消息以使我的测试更加健壮,但是当我发送 INFO 数据包时,我得到 501 - Not implementation 来自 Asterisk 的响应。
如果我将我的软件电话设置为使用 SIP INFO 发送 DTMF,那效果很好,所以我假设它与我发送的消息有关。但是比较实际消息并没有发现任何差异。
我发送的邀请:
INVITE sip:*203@192.168.200.208:5060 SIP/2.0
Via: SIP/2.0/UDP 172.17.0.2:5060;branch=z9hG4bK-234-1-7;rport
From: sipp <sip:2018005@192.168.200.208>;tag=1
To: <sip:*203@192.168.200.208:5060>
Call-ID: 1-234@172.17.0.2
CSeq: 4 INVITE
Contact: sip:2018005@172.17.0.2:5060
Authorization: //auth header omitted
Max-Forwards: 70
Allow: OPTIONS, SUBSCRIBE, NOTIFY, INVITE, ACK, CANCEL, BYE, REFER, INFO
Content-Type: application/sdp
Content-Length: 195
v=0
o=user1 53655765 2353687637 IN IP4 172.17.0.2
s=-
c=IN IP4 172.17.0.2
t=0 0
m=audio 8192 RTP/AVP 0
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
和 INFO 消息:
INFO sip:192.168.200.208:5060 SIP/2.0
Via: SIP/2.0/UDP 172.17.0.2:5060;branch=z9hG4bK-234-1-16
Max-Forwards: 70
Contact: <sip:2018005@172.17.0.2:5060;transport=UDP>
To: <sip:*203@192.168.200.208:5060>
From: "sipp" <sip:2018005@192.168.200.208>;tag=1
Call-ID: 1-234@172.17.0.2
CSeq: 5 INFO
User-Agent: SIPp docker
Authorization: // auth header omitted
Content-Length: 22
Signal=1
Duration=160
我确定这与 Asterisk 中的 dtmfmode 配置无关。
我注意到的一件事是,当 Asterisk 响应 INVITE 时,它包含以下标头:
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
我希望 INFO 会出现在这里 - 但同样,使用软电话时也是如此,而且一切正常。
还有哪些其他方面会影响 SIP INFO 的处理?
对于进一步调试的任何帮助将不胜感激。
【问题讨论】: