Subject: Re: [Megaco] Reserve Value and Reserve Group

From: An Leurs <[email-masked]>
Date: Mon, 17 Jun 2002 14:10:41 +0200

Hello Mr. Taylor, hello Megaco-group,

I have a question about a topic which appeared in the maillist some time
ago,
but still causes a lot of discussions in our team.

If we want to use the parameters "ReserveGroup and ReserveValue",
how would the scenario look like?
I want to let the GW choose between different codecs for audio,
and let him reserve resource for T.38 too.

Could it be like this (comments are welcome on this):

MGC -> GWA

...
Context = $ {
	Add = DS0/1/1;
	Add = $ {
		Media {
			LocalControl {
				Mode = ReceiveOnly,
				ReserveGroup = true,
				ReserveValue = true}
			Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
m=audio $ RTP/AVP 0  ; IP termination for audio
v=0
c=IN IP4 $
m=image $ udptl t38
		       ;IP termination for fax
				}
			}
		}
	}
}

Reply GWA -> MGC

...
Context = 2000 {
	Add = DS0/1/1;
	Add = RTP/1 {
		Media {
			Local {
v=0
c=IN IP4 124.124.124.222
m=audio 2222 RTP/AVP 4
m=audio 2222 RTP/AVP 0  ; All values are possible
v=0
c=IN IP4 0.0.0.0	; not active
m=image 1111 udptl t38   ;other udp port for fax
a=... 		       ;
				}
			}
		}
	}
}

MGC -> GWB

...
Context = $ {
	Add = DS0/2/2;
	Add = $ {
		Media {
			LocalControl {
				Mode = SendReceive,
				ReserveGroup = true,
				ReserveValue = false)
			Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
m=audio $ RTP/AVP 0  ; IP termination for audio
v=0
c=IN IP4 $
m=image $ udptl t38
		       ;IP termination for fax
				}
			Remote {
v=0
c=IN IP4 124.124.124.222
m=audio 2222 RTP/AVP 4
m=audio 2222 RTP/AVP 0  
v=0
c=IN IP4 0.0.0.0	
m=image 1111 udptl t38   
a=... 		       

			}
		}
	}
}

Reply GWB -> MGC

...
Context = 5000 {
	Add = DS0/2/2;
	Add = RTP/2 {
		Media {
			Local {
v=0
c=IN IP4 125.125.125.555
m=audio 5555 RTP/AVP 4		; IP termination for audio, one chosen
v=0
c=IN IP4 0.0.0.0	; not active
m=image 4444 udptl t38   ;other udp port for fax
a=... 		       
				}
			}
		}
	}
}

MGC -> GWA

...
Context = 2000 {
	Modify = RTP/1 {
		Media {
			LocalControl {
				Mode = SendReceive,
				ReserveGroup = true,
				ReserveValue = false)	; this parameter not needed anymore (?)
			Remote {
v=0
c=IN IP4 125.125.125.555
m=audio 5555 RTP/AVP 4
v=0
c=IN IP4 0.0.0.0	; not active
m=image 4444 udptl t38   ;other udp port for fax
a=... 		       ;IP termination for fax

			}
		}
	}
}

Additional questions:
1.) Is this interpretation of definition of groups and values correct.
	There were different understandings in the mails concerning this topic.

2.) This isn't MEGACO-pure, but as we are living in a complete network
    and there are other protocols to interwork with;
    in case GWA and GWB are not connected to the same MGC, is there a
    possibility to pass the information of "ReserveValue/ReserveGroup"
from one
    MGC to another (via SIP: SDP parameters can be passed, but no
LocalControl parameters)

Regards,   An Leurs

Tom-PT Taylor wrote:
> 
> I've just remembered the other reason I wondered if it was a mistake to
> restrict the number of m= lines in a stream.  However, this one may be more
> debatable.  Suppose you want the ability to alternate between voice and T.38
> FAX.  You can't put them both into the same m= line because they use
> different transport (RTP vs. T.38).  Now, do we consider these to be
> separate streams?  I think this is quite feasible, which makes my original
> concern moot, but someone else may want to think it through.
> 
> -----Original Message-----
> From: Taylor, Tom-PT [CAR:B800:EXCH]
> Sent: Friday, January 04, 2002 10:57 AM
> To: [email-masked]; [email-masked]; [email-masked]
> Subject: RE: [Megaco] Reserve Value and Reserve Group
> 
> I think we made a mistake when we added this IG item.  It will block us from
> using the FID capability (draft-ietf-mmusic-fid-05.txt) that I refer to
> below.  If other people feel the same way, we may want to modify the wording
> to handle that case.
> 
> The same draft also provides a capability to indicate synchronization
> dependencies between media streams.  Megaco will be unable to use this.
> Back when we put the protocol together, I thought we would need something to
> show which streams were related, but we chose to add a general requirement
> for synchronization of streams emanating from the same context.  I think the
> current work on MCU decomposition in SG 16 may come up with package-based
> solutions for greater selectivity.
> 
> If ReserveGroup and ReserveValue are both true, the MG is expected to
> reserve resources to cover every session description and, within each one,
> every codec alternative offered.
> 
> -----Original Message-----
> From: Usha Iyer [mailto:[email-masked]]
> Sent: Wednesday, January 02, 2002 11:31 PM
> To: Taylor, Tom-PT [CAR:B800:EXCH]; [email-masked];
> [email-masked]
> Subject: Re: [Megaco] Reserve Value and Reserve Group
> 
> Hi Tom, All
> 
>     Section  6.98 of  AVD-2128 doc ( H248IG) states that
> --------------------
> A Stream Descriptor specifies a single bi-directional media stream and so a
> single session description MUST NOT include more than one media description
> ("m=" line).  Any additional media streams for a termination must appear in
> distinct Stream Descriptors.
> -----------------------
>       Due to the above restriction ,you can't have multiple "m=" lines in
> one session desc.
>        One ques:  How do u resolve ReserveValue = True and also ReserveGroup
> = True
> 
> Regards
> Usha
> 
> ----- Original Message -----
> From: Tom-PT Taylor <[email-masked]>
> To: <[email-masked]>; <[email-masked]>
> Sent: Thursday, January 03, 2002 12:54 AM
> Subject: RE: [Megaco] Reserve Value and Reserve Group
> 
> > A "property group" is the same as a session description.
> ReserveGroup=true
> > says to reserve resources to support all of the session descriptions
> > presented.
> >
> > ReserveValue=true definitely says that if multiple payload types are
> > presented on the same m= line, resources should be reserved for all of
> them.
> > The grey area is if there are multiple m= lines within the same session
> > description.  I propose the interpretation that ReserveValue=true reserves
> > all resources within the same session description.
> >
> > I believe a further interpretation is needed as follows:
> >
> >   ReserveValue=true, ReserveGroup=false, multiple session descriptions
> > presented:
> >   --------------
> >  means that the MG chooses its preferred session description, then
> reserves
> > all resources specified therein.
> >
> >   ReserveValue=false, ReserveGroup=true, multiple session descriptions
> > presented:
> >   --------------
> >  means that the MG reserves resources for every session description, but
> > within each session description, where any m= line presents alternative
> > payload types, the MG chooses just one of the alternatives.
> >
> > I suspect it may be simpler to use the FID mechanism
> > (draft-ietf-mmusic-fid-05.txt) when it is finished.
> >
> > As for the missing s=, o=, and t= lines, RFC 3015 makes them optional in
> the
> > MGC-to-MG direction.
> >
> > -----Original Message-----
> > From: Sudhir Kumar Appana [mailto:[email-masked]]
> > Sent: Saturday, December 29, 2001 1:27 AM
> > To: [email-masked]
> > Cc: Sudhir (E-mail)
> > Subject: [Megaco] Reserve Value and Reserve Group
> >
> >
> > Hi,
> > In the RFC 3015, following is given in section 7.1.8 (Local and Remote
> > Descriptors):
> > "If ReserveGroup is true, the MG reserves the resources required to
> > support any of the requested property group alternatives that it can
> > currently support.  If ReserveValue is true, the MG reserves the
> > resources required to support any of the requested property value
> > alternatives that it can currently support."
> >
> > In the above statement, I want to know "what is property group and what is
> > property value". Where can I get more information on this. I referred
> > SDP RFC 2327, in that Session level Description and Media level
> Description
> > are differentiated. But I could not conclude from this.
> >
> > In RFC 3015 Appendix-A section-A.1.2 Step-12, Local Descriptor defines two
> > Session level descriptions. Can anybody mail me how can I interpret this,
> > as property groups or as property values. I will be happy, if somebody
> > explains this with some example packets.
> >
> > One more doubt regarding SDP Paramters:
> > In SDP RFC 2327, it is given that following fields are mandatory:
> > For 'Session description':
> > v=  (protocol version)
> > o=  (owner/creator and session identifier).
> > s=  (session name)
> > For 'Time description':
> > t=  (time the session is active)
> >
> > For 'Media description':
> > m=  (media name and transport address)
> >
> > But in call flows given in RFC 3015 Appendix A and in 'draft-madhu-megaco-
> > callflows-00.txt', I haven't found fields 'o=' and 's='. Are this fields
> are
> > not required.
> >
> >
> > Thanks,
> > Sudhir
> >
> >
> > _______________________________________________
> > Megaco mailing list
> > [email-masked]
> > https://www1.ietf.org/mailman/listinfo/megaco
> >
> > _______________________________________________
> > Megaco mailing list
> > [email-masked]
> > https://www1.ietf.org/mailman/listinfo/megaco
> 
> _______________________________________________
> Megaco mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/megaco
> 
> _______________________________________________
> Megaco mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/megaco

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

---

From: An Leurs <[email-masked]>
Date: Mon, 17 Jun 2002 14:10:41 +0200

MGC -> GWA

...
Context = $ {
	Add = DS0/1/1;
	Add = $ {
		Media {
			LocalControl {
				Mode = ReceiveOnly,
				ReserveGroup = true,
				ReserveValue = true}
			Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4

Reply GWA -> MGC

...
Context = 2000 {
	Add = DS0/1/1;
	Add = RTP/1 {
		Media {
			Local {
v=0
c=IN IP4 124.124.124.222
m=audio 2222 RTP/AVP 4

MGC -> GWB

...
Context = $ {
	Add = DS0/2/2;
	Add = $ {
		Media {
			LocalControl {
				Mode = SendReceive,
				ReserveGroup = true,
				ReserveValue = false)
			Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4

			}
		}
	}
}

Reply GWB -> MGC

...
Context = 5000 {
	Add = DS0/2/2;
	Add = RTP/2 {
		Media {
			Local {
v=0
c=IN IP4 125.125.125.555

MGC -> GWA

...
Context = 2000 {
	Modify = RTP/1 {
		Media {
			LocalControl {
				Mode = SendReceive,
				ReserveGroup = true,

			}
		}
	}
}

Additional questions:

Regards,   An Leurs

---

From: Christer Holmberg <[email-masked]>
Date: Mon, 17 Jun 2002 15:34:19 +0300

Hi,

I would send two m= lines (two SDPs when used within H.248), one for audio and one for image
(t.38).

Then I would set ReserveGroup = ON. The ReserveValue value is depending on if you provide a list of
audio codecs, and if you want the MG to reserve resources for one or many of those.

If you want to use separate ReserveValue values for audio and fax, you must define them in
different H.248 streams (and use some kind of multiplexing), OR define them for the same H.248
streams within different RTP terminations.

I hope all this went right :)

Regards,

Christer Holmberg
Ericsson Finland

---

From: Christer Holmberg <[email-masked]>
Date: Mon, 17 Jun 2002 15:34:19 +0300

Hi,

Regards,

Christer Holmberg
Ericsson Finland

---

From: An Leurs <[email-masked]>
Date: Tue, 18 Jun 2002 13:21:11 +0200

Hello Mr. Holmberg (and others),

if I understand you comment well, and I adapt the scenario according to
it, 
the first add command from MGC to GWA would look like:

Context = $ {
         Add = DS0/1/1;
         Add = $ {
                 Media {
                         LocalControl {
                                 Mode = ReceiveOnly,
                                ReserveGroup = true,
                                 ReserveValue = true}
                         Local {
 v=0
 c=IN IP4 $
 m=audio $ RTP/AVP 4 0
 m=image $ udptl t38
                                 }
                         }
                 }
         }
 }

In this way, every m line defines a group, and "ReserveGroup" is related
to
the different m-line, whereas "ReserveValue" directs the choice of the
values listed in this
m-line.

Is this correct?

When is a separation with more "v=0" needed?

Regards,  An Leurs

---

From: An Leurs <[email-masked]>
Date: Tue, 18 Jun 2002 13:21:11 +0200

Context = $ {
         Add = DS0/1/1;
         Add = $ {
                 Media {
                         LocalControl {
                                 Mode = ReceiveOnly,
                                ReserveGroup = true,
                                 ReserveValue = true}
                         Local {
 v=0
 c=IN IP4 $
 m=audio $ RTP/AVP 4 0
 m=image $ udptl t38
                                 }
                         }
                 }
         }
 }

Is this correct?

Regards,  An Leurs

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 18 Jun 2002 15:07:11 +0300

Hi,

In H.248 you are only allowed to have one m= line per SDP, so your Local descriptor would look like:

                        Local {
 v=0
 c=IN IP4 $
 m=audio $ RTP/AVP 4 0
v=0
c=IN IP4 $
 m=image $ udptl t38
                                 }

Now, each SDP (not only each m= line) defines a group.

Regards,

Christer Holmberg
Ericsson Finland

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 18 Jun 2002 15:07:11 +0300

Hi,

                        Local {
 v=0
 c=IN IP4 $
 m=audio $ RTP/AVP 4 0
v=0
c=IN IP4 $
 m=image $ udptl t38
                                 }

Regards,

Christer Holmberg
Ericsson Finland