Subject: [Megaco] [MEGACO] Mid call codec negotiation with unspecified Local descriptor

From: Manpreet Singh <[email-masked]>
Date: Wed, 27 Aug 2014 21:47:30 +0530

Hi All,

Need you input in a MEGACO mid call codec negotiation scenario. In this
scenario Local descriptor was unspecified in mid call codec change and we
want to understand what will be correct behavior.

Call flow in summary

==================

1. Firstly there is negotiation of audio codec and it is successful (first
modify request and its reply from MG is shown in message 1 & message 2).

2. Second Modify Request send by MGC with unspecified Local (Message 3)

3. MG reply Modify with “515 Unsupported_Media_Type”.  (Message 4)

As per the RFC

=============

   An unspecified Local or Remote Descriptor is considered to be a missing
mandatory parameter. It requires the MG to use whatever was last specified
for that descriptor. It is

possible that there was no previously specified value, in which case the
descriptor concerned is ignored in further processing of the command.

Behavior

========

  In this case local Descriptor was unspecified in modify (message 3) due
to this at media gateway previously specified value was PCMA.

  As there is no matching codec in local and new remote Descriptor so MG
return error.

Question

=========

   Is MG behavior correct ?

  Can anyone please confirm the right behavior of MG with second modify
request (Message 3) ?

Call follow

==========

[Message 1:: First modify from MGC]

!/2 <nord2.interconnect.mgc.voip.telefonica.de>:2945
T=111526820{C=2913{mf=ds/stm1_2/e1_50/29{m{o{mo=sr,TDMC/EC=OFF}},e,sg{}},mf=tgwrtp/8456{m{o{mo=sr},r{v=0

o=anonymous 140490962784 140490962786 IN IP4 213.20.251.120

s=SIP Call

c=IN IP4 213.20.251.120

t=0 0

m=audio 13076 RTP/AVP 8 0 125 101

b=AS:82

a=rtpmap:8 PCMA/8000/1

a=rtpmap:0 PCMU/8000/1

a=rtpmap:125 CLEARMODE/8000/1

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

a=ptime:20

a=sendrecv

}},e,sg{}}}}

[message 2 :: REPLY message for selected remote and local codecs form MG]:

!/2 <tmgx-brln-de103-2>:2945 P = 111526820{ C = 2913
{mf=ds/stm1_2/e1_50/29  ,mf=TGWRTP/8456  { m { l {

v=0

o=- 392 1404909627 IN IP4 62.53.160.73

s=-

c=IN IP4 62.53.160.73

t=0 0

m=audio 30356 RTP/AVP 8 101

a=ptime:20

a=rtpmap:8 PCMA/8000/1

a=rtpmap:101 telephone-event/8000/1

a=fmtp:101 0-15

} ,r {

v=0

o=anonymous 140490962784 140490962786 IN IP4 213.20.251.120

s=-

c=IN IP4 213.20.251.120

t=0 0

m=audio 13076 RTP/AVP 8 101

a=rtpmap:8 PCMA/8000/1

a=ptime:20

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

}  }  } }}

[message 3 :: second Modify Request with unspecified Local with change in
codec]

!/2 <nord2.interconnect.mgc.voip.telefonica.de>:2945
T=111528469{C=2913{mf=ds/stm1_2/e1_50/29{m{ts{CTYP/CALLTYP=[FAX,TEXT,DATA]},o{mo=sr,TDMC/EC=OFF}},e=1{CTYP/DTONE},sg{}},mf=tgwrtp/8456{m{o{mo=sr},r{v=0

o=anonymous 140490962784 140490962787 IN IP4 213.20.251.120

s=SIP Call

c=IN IP4 213.20.251.120

t=0 0

m=audio 13076 RTP/AVP 0 101

b=AS:82

a=rtpmap:0 PCMU/8000/1

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

a=ptime:20

a=sendrecv

}},e=1{IPFAX/FAXCONNCHANGE},sg{}}}}

[message 4 :: Modify Reply]

!/2 <tmgx-brln-de103-2>:2945 P = 111528469{ C = 2913
{mf=ds/stm1_2/e1_50/29  ,mf=TGWRTP/8456  { er = 515 {
"Unsupported_Media_Type" }  } }}

Any information will be appreciated!

Thanks &Regards,

Manpreet

---

From: Christian Groves <[email-masked]>
Date: Fri, 29 Aug 2014 07:41:42 +1000

Hello Manpreet,

Please see my response below.

Regards, Christian

On 28/08/2014 2:17 AM, Manpreet Singh wrote:
>
> Hi All,
>
> Need you input in a MEGACO mid call codec negotiation scenario. In 
> this scenario Local descriptor was unspecified in mid call codec 
> change and we want to understand what will be correct behavior.
>
> Call flow in summary
>
> ==================
>
> 1. Firstly there is negotiation of audio codec and it is successful 
> (first modify request and its reply from MG is shown in message 1 & 
> message 2).
>
> An unspecified Local or Remote Descriptor is considered to be a 
> missing mandatory parameter. It requires the MG to use whatever was 
> last specified for that descriptor. It is
>
> possible that there was no previously specified value, in which case 
> the descriptor concerned is ignored in further processing of the command.
>
> Behavior
>
> ========
>
> In this case local Descriptor was unspecified in modify (message 3) 
> due to this at media gateway previously specified value was PCMA.
>
[CNG] Yes this is acceptable to leave a previously set descriptor 
unspecified.
> As there is no matching codec in local and new remote Descriptor so MG 
[CNG] H.248/Megaco doesn't specify that the codec in the local and 
remote descriptors must be the same. So from a protocol perspective it 
is OK to only include one descriptor.

The issue relates to what the MG can support. If the MG only supports 
the same codec in local and remote then it is legitimate to return an 
error. If the issue that the setting of the codec is also required in 
both the local and remote descriptors by the MG then it could return 
"441 Missing Remote or Local Descriptor". This would indicate that the 
local descriptor should also have been updated.

> Is MG behavior correct ?
[CNG] I didn't see where in the first message the MGC requested the 
local descriptor information? Would that have been requested in the 
initial ADD.req?
> Can anyone please confirm the right behavior of MG with second modify 
[CNG] See above.
> !/2 <nord2.interconnect.mgc.voip.telefonica.de 
> <http://nord2.interconnect.mgc.voip.telefonica.de>>:2945 
> [message 3 :: second Modify Request with unspecified Local with change 
> in codec]
>
> !/2 <nord2.interconnect.mgc.voip.telefonica.de 
> <http://nord2.interconnect.mgc.voip.telefonica.de>>:2945 
> _______________________________________________
> Megaco mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/megaco