Re: проблема с DTMF
В общем исследования показали, что оба сервера, и ваш и провайдера, договариваются о передаче DTMF в формате rfc2833 с payload 101:
прием SDP от провайдера с параметрами подключения:
[Jul 10 17:24:39] --- (13 headers 13 lines) ---
[Jul 10 17:24:39] Sending to 217.150.198.102 : 5060 (NAT)
[Jul 10 17:24:39] Found RTP audio format 0
[Jul 10 17:24:39] Found RTP audio format 8
[Jul 10 17:24:39] Found RTP audio format 101
[Jul 10 17:24:39] Peer audio RTP is at port 217.150.198.102:14742
[Jul 10 17:24:39] Found audio description format PCMU for ID 0
[Jul 10 17:24:39] Found audio description format PCMA for ID 8
[Jul 10 17:24:39] Found audio description format telephone-event for ID 101
[Jul 10 17:24:39] Capabilities: us - 0x10c (ulaw|alaw|g729), peer - audio=0xc (ulaw|alaw)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
[Jul 10 17:24:39] Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
[Jul 10 17:24:39] Peer audio RTP is at port 217.150.198.102:14742
[Jul 10 17:24:39] Audio is at 192.168.0.220 port 19798
[Jul 10 17:24:39] Adding codec 0x8 (alaw) to SDP
[Jul 10 17:24:39] Adding codec 0x4 (ulaw) to SDP
[Jul 10 17:24:39] Adding non-codec 0x1 (telephone-event) to SDP
Выдача провайдеру подтверждения параметров подключения:
o=root 26529 26531 IN IP4 192.168.0.220
s=session
c=IN IP4 192.168.0.220
t=0 0
m=audio 19798 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
Однако если в процессе разговора нажимать кнопки на телефоне, то от сервера провайдера не приходят RTP пакеты вообще!
Это отчетливо видно в сетевом дампе
|