isshed
2011-07-19 10:23:08 UTC
Hi Everyone,
I am implementing a sip client. I have a basic doubt on SDP negotation. When
client A and B are connected. Basically A wants to send FAx to B. So first
voice call is connected. now they are switching to fax. In this process the
SDPs as negotiated as follows. A supports t38 and VBD both but B supports
only t38 (does not support VBD). In reinvite A sends dynamic codec 104.
Since B does not support should it remove 104 from media line? It already
removes the a:gpmd:104 vbd=yes line. All the 4 SDPs are listed below please
help me understand it.
UAC(A)----------------------------------------------------------------------------------------------------------------UAS(B)
Initial Invite from A has SDP as follows
m=audio 23508 RTP/AVP 0 8 101 13
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
B responds to A with SDP as follows
m=audio 11986 RTP/AVP 0 8 101 13
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
now it switches on FAX
A sends reinvite with SDP
a=pmft:T38
m=audio 23508 RTP/AVP 0 8 99 104 103
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:99 RED/8000
a=rtpmap:104 PCMA/8000
a=rtpmap:103 t38/8000
a=fmtp:103
T38FaxVersion=0;T38MaxBitrate=14400;T38FaxMaxDatagram=173;T38FaxRateManagement=transferredTCF
a=fmtp:99 104/104
a=fmtp:99 103/103
a=gpmd:104 vbd=yes
And B responds with SDP
a=pmft:T38
m=audio 11986 RTP/AVP 0 8 99 104 103
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:99 RED/8000
a=rtpmap:104 PCMA/8000
a=rtpmap:103 t38/8000
a=fmtp:103
T38FaxVersion=0;T38MaxBitrate=14400;T38FaxMaxDatagram=173;T38FaxRateManagement=transferredTCF
a=fmtp:99 104/104
a=fmtp:99 103/103
Thanks,
Isshed.
I am implementing a sip client. I have a basic doubt on SDP negotation. When
client A and B are connected. Basically A wants to send FAx to B. So first
voice call is connected. now they are switching to fax. In this process the
SDPs as negotiated as follows. A supports t38 and VBD both but B supports
only t38 (does not support VBD). In reinvite A sends dynamic codec 104.
Since B does not support should it remove 104 from media line? It already
removes the a:gpmd:104 vbd=yes line. All the 4 SDPs are listed below please
help me understand it.
UAC(A)----------------------------------------------------------------------------------------------------------------UAS(B)
Initial Invite from A has SDP as follows
m=audio 23508 RTP/AVP 0 8 101 13
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
B responds to A with SDP as follows
m=audio 11986 RTP/AVP 0 8 101 13
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
now it switches on FAX
A sends reinvite with SDP
a=pmft:T38
m=audio 23508 RTP/AVP 0 8 99 104 103
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:99 RED/8000
a=rtpmap:104 PCMA/8000
a=rtpmap:103 t38/8000
a=fmtp:103
T38FaxVersion=0;T38MaxBitrate=14400;T38FaxMaxDatagram=173;T38FaxRateManagement=transferredTCF
a=fmtp:99 104/104
a=fmtp:99 103/103
a=gpmd:104 vbd=yes
And B responds with SDP
a=pmft:T38
m=audio 11986 RTP/AVP 0 8 99 104 103
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:99 RED/8000
a=rtpmap:104 PCMA/8000
a=rtpmap:103 t38/8000
a=fmtp:103
T38FaxVersion=0;T38MaxBitrate=14400;T38FaxMaxDatagram=173;T38FaxRateManagement=transferredTCF
a=fmtp:99 104/104
a=fmtp:99 103/103
Thanks,
Isshed.