Subject: [Megaco] Allocation resources for a call

From: Javi <[email-masked]>
Date: Sat, 10 Dec 2011 14:03:33 +0100

I have a callwith the following 3 phases:

A) Phase A: MG may carry media to a equipment A using the codec x.

B) Phase B: MG may carry media to a equipment B using the codec y.

C) Phase C: again, MG may carry media to the equipment A using the codec x.

In that case, what is the most appropriate way to model the call on the 
gateway to ensure that once the call starts the gateway will have the 
necessary resources for all phases?

(i) 2 terminations (in the same or different context?) using the 
property "StreamMode=Inactive":

* Termination 1 with:
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x

* Termination 2 with:
     v=0
     c=IN IP4 IP_B
     m=audio port_B  RTP/AVP codec_y

In phase:
     (A, C) Termination 1 with StreamMode=SendRecv; Termination 2 with 
StreamMode=Inactive
     (B) Termination 1 with StreamMode=Inactive; Termination 2 with 
StreamMode=SendRecv

===

(ii) 1 termination with 2 session descriptions with ReserveGroup=true:

In Phase A:
LocalControl {
ReserveGroup = True},
Local/Remote {
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x
     v=0
     c=IN IP4 IP_B
     m=audio port_B  RTP/AVP codec_y
}

In Phase B:
LocalControl {
ReserveGroup = True},
Local/Remote {
     v=0
     c=IN IP4 IP_B
     m=audio port_B  RTP/AVP codec_y
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x
}

In Phase C:
Local/Remote {
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x
}

===

(iii) 1 termination with 1 session descriptions with ReserveValue=true 
to allocate the resources:

Phase A)
LocalControl {
ReserveValue = True},
Local/Remote {
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x  codec_y
}

Phase B)
LocalControl {
ReserveValue = True},
Local/Remote {
     v=0
     c=IN IP4 IP_B
     m=audio port_B  RTP/AVP codec_y  codec_x
}

Phase C)
Local/Remote {
     v=0
     c=IN IP4 IP_A
     m=audio port_A  RTP/AVP codec_x
}

Regards,

Javi

---

From: Christian Groves <[email-masked]>
Date: Mon, 12 Dec 2011 09:56:12 +1100

HEllo Javi,

I'm not sure what the issue is? This just sounds like a normal 
transcoding case.
i.e. For Termination connection to equipment A set codec X, for the 
Termination connected to equipment B set codec Y. The MG simply 
transcodes the codec format when sending a A or B.

Regards, Christian

On 11/12/2011 12:03 AM, Javi wrote:
> In that case, what is the most appropriate way to model the call on 
> the gateway to ensure that once the call starts the gateway will have 
> the necessary resources for all phases?
>
> _______________________________________________
> Megaco mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/megaco
>

---

From: Javi Muñoz <[email-masked]>
Date: Mon, 12 Dec 2011 12:11:14 +0100

Christian,

> transcodes the codec format when sending a A or B.

The problem is that the connection with A and B is performed within the 
same call. Thus, in phase A, MG sends to equipment A with codec X, but 
also should allocate the resources needed for Phase B.

Otherwise, the call can start and, to change to Phase B, the MG may not 
have the resources to communicate with equipment B with the codecY, 
needing to release the call. Thus, the objective is to prevent this 
happening, ensuring that once the call begins, MG will have reserved all 
resources required for that call.

Javi
>> (iii) 1 termination with 1 session descriptions with 
>> ReserveValue=true to allocate the resources:
>>
>> Phase A)
>> LocalControl {
>> ReserveValue = True},
>> Local/Remote {
>>     v=0
>>     c=IN IP4 IP_A

---

From: "Makaraju, Maridi Raju (Raju)" <[email-masked]>
Date: Mon, 12 Dec 2011 17:08:24 -0600

Javi,

I would think in this case (iii) is more appropriate. 
However...

> >>     m=audio port_B  RTP/AVP codec_y  codec_x
[Raju] You have to be careful with Local Descriptor (LD).
The ip+port in LD can only be selected by GW. So, changing
from IP_A to IP_B is not implicit.. MGC has to specify
a choose("$") wildcard in phase B so that it can select
a new local ip+port.
In phase C, again "$" has to be specified, but MG certainly
not obligated to give back Port_A.

If 2 sets of IP+ports are needed then you may want to consider:
- ReservedGroup - 2 groups
- OR multiple streams -2 streams

> >>     m=audio port_A  RTP/AVP codec_x

Regards
Raju

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of Javi Muñoz
> Sent: Monday, December 12, 2011 5:11 AM
> To: [email-masked]
> Subject: Re: [Megaco] Allocation resources for a call
> 
> Christian,
>