[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AVT] RE: [Megaco] Regarding different payload types in local and remote descriptor for same codec



This is not an H.248 issue in my understanding, this relates to the "AVP Profile", thus a RFC 3550 matter (I've Cc'ed avt at ietf.org) in my understandning:
 
When RTP/AVP allows to use different PT codepoint values for the same media format, then the SDP is correct.
When RTP/AVP does not allow to use different PT codepoint values for the same media format, then the SDP is incorrect (and the MG must reply with an error code because the ADD.request was incorrect).
 
-Albrecht
 
PS
Different media formats per traffic direction is possible (but this was not the question).
 
PSS
I guess that PCMU is not used as "VBD codec" (i.e. with a dynamic PT value). But if yes, then the SDP is incorrect. The SDP must then follow V.152, see "a=" line ...


From: Prerna Nagar [mailto:prnagar at cisco.com]
Sent: Donnerstag, 27. September 2007 01:24
To: megaco at ietf.org
Subject: [Megaco] Regarding different payload types in local and remotedescriptor for same codec

Hi All,
 
Consider a case when a Add request comes to media gateway and the request looks like:
 
Add Request
{Context = $ { Add = DS/1/1/2 { Media { LocalControl { Mode = SendReceive } } } ,
Add = $ { Media { LocalControl { Mode = SendReceive, ReservedValue = OFF } ,
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP $
},Remote {
v=0
o=- 0 0 IN IP4 -
s=-
c=IN IP4 210.2.12.2
t=0 0
m=audio 16400 RTP/AVP 106 100
a=rtpmap:106 PCMU/8000/1
a=rtpmap:100 X-NSE/8000/1
a=fmtp:100 192-194
} } } }}
 
Here  "CHOOSE" in Local resolves to a list of codecs supported by the gatway(PCMU will resolve to 0)
Next intersection of codecs between local and remote takes place.
But here in Local  PCMU has a static value "0" and remote understands "106" as PCMU (different payload types).
 
Question is : How the codec negotiation should work and how the response should look like?
 
Should it look like :
1.
a=tgwrtp/8079  { m {
Local {
v=0
o=- 0 0 IN IP4 -
s=-
c=IN IP4 210.2.12.2
t=0 0
m=audio 16400 RTP/AVP 0 100
a=rtpmap:100 X-NSE/8000/1
a=fmtp:100 192-194
 } ,
Remote{
v=0
o=- 0 0 IN IP4 -
s=-
c=IN IP4 210.2.12.2
t=0 0
m=audio 16400 RTP/AVP 106 100
a=rtpmap:106 PCMU/8000/1
a=rtpmap:100 X-NSE/8000/1
a=fmtp:100 192-194
 }}  } }}
 
or
2.
a=tgwrtp/8079  { m {
Local {
v=0
o=- 0 0 IN IP4 -
s=-
c=IN IP4 210.2.12.2
t=0 0
m=audio 16400 RTP/AVP 106 100
a=rtpmap:100 X-NSE/8000/1
a=fmtp:100 192-194
 } ,
Remote{
v=0
o=- 0 0 IN IP4 -
s=-
c=IN IP4 210.2.12.2
t=0 0
m=audio 16400 RTP/AVP 106 100
a=rtpmap:106 PCMU/8000/1
a=rtpmap:100 X-NSE/8000/1
a=fmtp:100 192-194
 }}  } }}
 
Regards,
Prerna

_______________________________________________
Audio/Video Transport Working Group
avt at ietf.org
https://www1.ietf.org/mailman/listinfo/avt