Subject: [Megaco] How to correlate payload types with codeclists

From: Kalleitner Franz <[email-masked]>
Date: Thu, 24 Jun 2004 16:00:16 +0200

Has anybody an idea how to map codec lists and payload types into the
localdescriptor using ASN.1 encoding?
Lets take the example below, using a SDP m-line with two payload types and
lets assume ReserveValue=True, which mean that both codes shall be reserved
by the MGW

As a reference an cut-out of a well-known SDP media definition:

m=audio 5555 RTP/AVP 96 97
a= rtpmap:96 AMR
a= fmtp:96 <<something>>
a= rtpmap 97 AMR-WB
a= fmtp:97 <<something>>

In the following three examples I tried to map the SDP example into the
ASN.1 format, but it allows a wide range of interpretation.

Example 1:
localDescriptor {
	propGrps (1){
		PropertyParm (1){
				Name (Acodec)
				Value (AMR,AMR-WB)},
		PropertyParm (2){
				Name (PayloadType)
				Value (96) }
		PropertyParm (3){
				Name (PayloadType)
				Value (97) }}}

Since ACodec is defined as "sequence of octects" (Annex C) and because ITU-T
has defined ACodec as a list of single codecs its possible to build a codec
list. Therefore ReserveValue will work; if ReserveValue=True, both codecs
"AMR" and AMR-WB" are selected codecs, and if ReserveValue=False only the
first codec "AMR" would be selected.
But, how to map the payload types 96 and 97 to the codecs in the codec list
? Payload type is defind in Annex C as integer, therefore only single value
could be set, but not a list.
A solution could be to list the payload types as a sequence of propertyparm
and assume that the first codec in the list is associated with the first
payload type definition. 

Example 2 

localDescriptor {
	propGrps (1){
		PropertyParm (1){
				Name (Acodec)
				Value (AMR)},
		PropertyParm (2){
				Name (PayloadType)
				Value (96) }
		PropertyParm (3){
				Name (ACodec)
				Value (AMR-WB) }}}
		PropertyParm (4){
				Name (PayloadType)
				Value (97) }}}

An alternative solution of example 1, working with single codecs instead of
a codec list. Again it must be assumed that the codec is associated with the
payload definition coming next.

Example 3:

localDescriptor {
	propGrps (1){
		PropertyParm (1){
				Name (Acodec)
				Value (AMR)},
	PropertyParm (2){
				Name (PayloadType)
				Value (96)}
	propGrps (2){
		PropertyParm (1){
				Name (Acodec)
				Value (AMR-WB)},
		PropertyParm (2){
				Name (PayloadType)
				Value (97) }}}

Witin this example the correlation between codec and payload type can be
expressed unique. However, the H248 ReserveValue = True cannot be applied
because two property groups are used. It would be necessary to use
ReserveGroup instead.

_______________________________________________
Megaco mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/megaco

---

From: Christian Groves <[email-masked]>
Date: Fri, 25 Jun 2004 12:26:11 +1000

Hello Franz,

Acodec refers (check Q.1950 sect 5.7.3.1) to the "single codec" in Q.765.5 sect 
11.1.7 so you can't use sect 11.1.6 for a list of codecs.
So if you want a list of codecs you must use reserve value or reserve group as 
appropriate or the MG will "choose" a value for you.

As part of the Acodec there is a configuration field which is effectively the 
same as the fmtp=<something>. As per my other email in BICC the specific SDP 
information is exchanged via IPBCP and payloadtype is defined in H.248.1 Annex C.

Regards, Christian