Subject: [Megaco] Local and Remote Descriptors

From: "Ron Gilaad" <[email-masked]>
Date: Tue, 15 May 2007 22:14:49 +0300

Hi,

According to H.248:
"If ReserveGroup is "False" and ReserveValue is "False", then the MG
should apply the following
rules to resolve Local and Remote to a single alternative each:
* The MG chooses the first alternative in Local for which it is able to
support at least one
alternative in Remote."

As I understands the standard, the MG shall scan the codec list in the
Local and for each codec (that the MG supports), the MG shall check if
it appears also in the Remote desc. If so, the MG chooses this coder and
(according to the spec) the MG should "returns its selected alternative
in each of Local and Remote.".

It is not clear what is considered as first alternative.
Suppose the MGC has included in the request, the following codecs:

-. T.38 (for example: m=image 16838 udptl t38), 
or dynamic payload types such as:
-. DTMF (for example: m=audio 4567 RTP/AVP 107 a=rtpmap:106
telephone-event/8000)
or
-. V.152  (for example: m=audio 1111 RTP/AVP 99 a=rtpmap:99 pcma/8000
a=gpmd:99 vbd=yes)

1. Can the T.38 and the dynamic payload types considered as a choice and
the MG may return only one of them in the response?
2. What happens in case the request contains multiple SDPs and each SDP
may contain multiple codecs. Can the MG select a single codec from a
multiple codec SDP? Or it must select all codecs within the same SDP
(all in the same m= line)?

Ron

Ron Gilaad
RAD Data Communications.
24 Raoul Wallenberg St.
Tel Aviv 69719
Tel: 972-3-6455411 
mailto:[email-masked]

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

---

From: "Tom-PT Taylor" <[email-masked]>
Date: Tue, 15 May 2007 16:06:32 -0400

See below marked [PTT].

Ron Gilaad wrote:
> Hi,
> 
> According to H.248:
> 
> "If ReserveGroup is "False" and ReserveValue is "False", then the MG should
> apply the following rules to resolve Local and Remote to a single alternative each:
> 
> support at least one alternative in Remote."
> 
> As I understands the standard, the MG shall scan the codec list in the Local
> and for each codec (that the MG supports), the MG shall check if it appears
> also in the Remote desc. If so, the MG chooses this coder and (according to
> the spec) the MG should "returns its selected alternative in each of Local
> and Remote.".
> 
> 1. Can the T.38 and the dynamic payload types considered as a choice and the
> MG may return only one of them in the response?
> 
[PTT] Right.

> 2. What happens in case the request contains multiple SDPs and each SDP may
> contain multiple codecs. Can the MG select a single codec from a multiple
> codec SDP? Or it must select all codecs within the same SDP (all in the same
> m= line)?

[PTT] ReserveGroup=False implies just one SDP is selected (the first, if there 
is any match within it to a codec in the Remote descriptor. ReserveValue=False 
implies just one codec is selected -- the first one with a Remote counterpart 
when one scans the SDPs in order, and the codecs within each SDP in order.

We set up the rules that way to try to maximize the probability of a symmetric flow.
> 
> Ron
> 
> 
> 
> 
> 
> 
> Ron Gilaad
> 
> RAD Data Communications.
> 
> 24 Raoul Wallenberg St.
> 
> Tel Aviv 69719
> 
> Tel: 972-3-6455411
> 
> mailto:[email-masked] <mailto:[email-masked]>
> 
> 
> 
>

---

From: "Ron Gilaad" <[email-masked]>
Date: Wed, 16 May 2007 00:10:46 +0300

Hi Tom,
Thanks for the response.
That's what I thought.
Now, when this is clear, let me get a little deeper in details:

"If ReserveGroup is "True" or ReserveValue is "True", then the following
rules apply:
* If the MG has insufficient resources to support all alternatives
requested by the MGC, and
the MGC requested resources in both Local and Remote, the MG should
reserve resources
to support at least one alternative each within Local and Remote. 
..
*In its response to the MGC, when the MGC included Local and Remote
Descriptors, the
MG shall include Local and Remote Descriptors for all groups of
properties and property
values it reserved resources for. If the MG is incapable of supporting
at least one of the
alternatives within the Local (Remote) Descriptor received from the MGC,
it shall return an
empty Local (Remote) Descriptor."

The above two sections contrasting each other. The first says that if
the reserve property is True and the MG does not support all
alternative, it may reply with the alternative which it does support
(and it's ok). But the second section says that if the MG is incapable
to support at least one of the alternative it shall return an empty
descriptor !?

What happens if the Local includes a list of SDPs and codecs all
supported by the MG, but none of them appears in the Remote desc? What
shall the MG do?

It seems that there are some unresolved issues, here. From one side, the
MG shall compare the Local desc to it' s own configuration and check
what it supports and from the other side it shall compare the Local to
the Remote to verify that both list will be the same, all when taking in
account the reserve properties.
It is not clear why doesn't the MGC compare the Local and Remote before
sending the request to the MG?

Let me examine all possible cases, and please correct me if I am wrong.

1) ReserveGroup= TRUE, ReserveValue=TRUE
The MG shall Scan all SDPs in the Local and include them in the response
just if it supports all codecs in each SDP.
If it doesn't support a single codec within a specific SDP - it shall
exclude this SDP from the response.
What happens if the Local differs from the Remote here?

2) ReserveGroup= TRUE, ReserveValue=FALSE
The MG shall Scan all SDPs in the Local. From each SDP it shall select
the first codec it support and which appears in the Remote list, as
well.
If there is no such codec, the whole SDP is excluded.

3) ReserveGroup= FALSE, ReserveValue=TRUE
The MG shall Scan all SDPs in the Local. It shall look for the first SDP
in which it supports all of its codecs. 
Shall all of these codecs appears also in the Remote desc? (if so, shall
it necessarily be in the same SDP)?

4) ReserveGroup= FALSE, ReserveValue=FALSE
Return in the reply the first codec in the Local which it support and
also appears in the Remote.

In all cases, shall the MG leaves the Remote desc untouched?

When adding a termination to a context, before identifying the remote
side, the media desc does not contain a Remote but only Local desc.
Shall the MG in this case just compare the Local to it's configuration?

Thanks again and regards,

Ron

-----Original Message-----
From: Tom-PT Taylor [mailto:[email-masked]] 
Sent: Tuesday, May 15, 2007 23:07
To: Ron Gilaad
Cc: [email-masked]; Tuvia Segal; Asaf Vadai
Subject: Re: [Megaco] Local and Remote Descriptors

See below marked [PTT].

Ron Gilaad wrote:
> should apply the following rules to resolve Local and Remote to a
single alternative each:
> 
> * The MG chooses the first alternative in Local for which it is able 
> to support at least one alternative in Remote."
> 

> it appears also in the Remote desc. If so, the MG chooses this coder 
> and (according to the spec) the MG should "returns its selected 
> alternative in each of Local and Remote.".
> 
> 1. Can the T.38 and the dynamic payload types considered as a choice 
> and the MG may return only one of them in the response?
> 
[PTT] Right.

> 2. What happens in case the request contains multiple SDPs and each 
> SDP may contain multiple codecs. Can the MG select a single codec from

> a multiple codec SDP? Or it must select all codecs within the same SDP

> (all in the same m= line)?

[PTT] ReserveGroup=False implies just one SDP is selected (the first, if
there is any match within it to a codec in the Remote descriptor.
ReserveValue=False implies just one codec is selected -- the first one
with a Remote counterpart when one scans the SDPs in order, and the
codecs within each SDP in order.

We set up the rules that way to try to maximize the probability of a
symmetric flow.