Subject: RE: [Megaco] Local and Remote Descriptors

From: "Ron Gilaad" <[email-masked]>
Date: Wed, 16 May 2007 22:25:41 +0300

As I understood from H.248 and previous responses here, the MG should
compare the list of CODECS (in the SDPs) of the Local to both it's own
configuration and to the Remote list. In H.248 it is written for
example: "The MG chooses the first alternative in Local for which it is
able to support at least one
alternative in Remote".
Then if a codec matches both the MG configuration and it appears in the
Remote, it is handled according to the ReserveGroup and ReserveValue.

The following cases (along with its meaning) are available:
==========================================
ReserveGroup=T ReserveValue=T	At least one SDP, al least one coder
ReserveGroup=T ReserveValue=F	At least one SDP, One coder in each
ReserveGroup=F ReserveValue=T	One SDP, al least one coder 	
ReserveGroup=F ReserveValue=F	One SDP, one coder		

Here are the MG actions for each one of the above cases:
/***********************************************************************
**************/
ReserveGroup=T ReserveValue=T	At least one SDP, al least one coder
scan SDPs in Local. For each SDP: scan codecs. If we support at least
one codec
which appears also in the remote - include this SDP.
/***********************************************************************
**************/
ReserveGroup=T ReserveValue=F	At least one SDP, One coder in each
scan SDPs in Local. For each SDP: scan codecs. If we support it and it
appears in
the remote- choose this codec, ignore other codecs in this SDP and
continue to
the next SDP.
/***********************************************************************
**************/
ReserveGroup=F ReserveValue=T	One SDP, al least one coder 	
scan SDPs in Local. For each SDP: scan codecs. If we support it and it
appears in
the remote- choose this SDP and quit the SDP scan. For this selected
SDP, check
all codecs and choose all codecs which we support and appears in the
remote
/***********************************************************************
**************/
ReserveGroup=F ReserveValue=F	One SDP, one coder		
scan SDPs in Local. For each SDP: scan codecs. If we support it and it
appears in
the remote- choose it and stop. Include only it in the response of L and
R	
/***********************************************************************
**************/

Ron.

-----Original Message-----
From: Stephen Mell (CV/ETL) [mailto:[email-masked]] 
Sent: Wednesday, May 16, 2007 22:14
To: Ron Gilaad
Subject: RE: [Megaco] Local and Remote Descriptors

>> 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?

There is no in built assumption in H.248 that bi-directional connections
are symmetric. Hw might impose these restrictions, but H.248 does not
assume that they are there. If the Hw does impose these restrictions you
have to work out when you need to enforce them. 
You might refuse reservations which would cause there to be no
commonality between L and R for example, or only enforce symmetry
restriction when the media mode is "sendrecv".

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

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:
> 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?
> 
[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]>
> 
> 
> 
> 

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

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