Re: Codec Negotiation Question
Navdeep Bhatia <[email protected]>
| Newsgroups | gmane.ietf.megaco |
|---|---|
| Message-ID | <AF90FD86FA51194398AC826F9B35EEBA065AE36BA5@GUREXMB01.ASIAN.AD.ARICENT.COM> |
Hi,
In my opinion, MG should never perform intersection when local codec is forced upon it. It should reject call only
a) when it receives the remote descriptor codec which it does not support or
b) if a local codec is forced upon it that it does not support.
Consider the following example:
1) MG(a) and MG(b) establishes an audio call through MG(c), for example, in a border gateway scenario. And then fax regoniation takes place. Consider the following flow (taking just one MGC for simplicity, let MG (c) be the contentious MG we are talking about):
MGC
MG(a) -----------> MG(c) -------------> MG(b)
Suppose a call has already been established between MG(a) and MG(b) via MG(c) using normal MEGACO procedures. Now if any of the two, MG(a) or MG(b) wants to renegotiate, say, to fax. In this scenario, MGC shall force fax codec, say t38, on MG(c) termination towards MG(a) without sending the remote media descriptor (considering fax renegotiation initiated by MG(b)). Now in this case, MG (c) should send a successful response if it supports t38 codec.
Please note that if codec intersection is done between local and remote in the above mentioned example then we would never be able to renegotiate to codecs other than negotiated at the call start-up.
Thanks.
Regards,
Navdeep
________________________________
From: [email protected] [[email protected]] On Behalf Of Deepak Bissa
Sent: Friday, October 10, 2008 11:06 AM
To: Ramesh Babu Kuppili; [email protected]
Cc: Murugesh Govindaraju
Subject: Re: [Megaco] Codec Negotiation Question
As per section 7.1.1 of H.248.1 (v3)
“If a required descriptor other than the Audit Descriptor is unspecified (i.e. entirely absent) from a command, the previous values set in that descriptor for that termination, if any, are retained.”
Thus, in case when only local codec is sent by MGC and remote is absent then previous remote descriptor will be retained.
In such scenario, if the local codec does not intersect with remote codec and MG does not asymmetric codec then it should reply with an error “515 Unsupported Media Type”.
If asymmetric codec is supported by MG then codec negotiation will be successful.
With regards,
Deepak Bissa
________________________________
From: [email protected] [mailto:[email protected]] On Behalf Of Ramesh Babu Kuppili
Sent: Friday, October 10, 2008 10:27 AM
To: [email protected]
Cc: Murugesh Govindaraju
Subject: [Megaco] Codec Negotiation Question
Gurus,
I have a question about Codec Negotiation in Megaco.
Lets says the switch initially sends us local and remote codec list. We take a intersection of the both local and remote and respond to the request.
Then at a later stage lets says the switch sends another modify with only local codec list. And this time the local codec does not intersect with the remote codec list that was received previously.
My question is, "How should the gateway behave to the the codec list in the modify?".
1. Should it assume the the remote will also support all the codecs in the list of Modify and respond to the modify with all supported codecs.
2. Should it send a "codec negotiation failure" as response for Modify since the codec list in the modify does not intersect with the remote codec list previously sent.
- ramesh
~~~~~~~~~~~~~~~~~~Example messages~~~~~~~~~~~~~~~~~~~
Request with both local and remote:
MEGACO/1
[172.16.43.151]
Transaction = 58738{Context = 3{Modify = Eag26/ep2{Media{Stream = 1{LocalControl{Mode = SendReceive , ReservedValue = off , ReservedGroup = off , tdmc/ec = on} , Local{v=0
c=IN IP4 $
m=audio $ RTP/AVP 18
a=ptime:40
v=0
c=IN IP4 $
m=audio $ RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=ptime:40
} , Remote{v=0
c=IN IP4 172.16.43.155
m=audio 6024 RTP/AVP 18
a=ptime:40
v=0
c=IN IP4 172.16.43.155
m=audio 6024 RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=ptime:40
}}}}}}
Request with local only:
MEGACO/1
[172.16.43.151]
Transaction = 58741{Context = 3{Modify = AG26{Media{Stream = 1{LocalControl{Mode = SendReceive , tdmc/ec = off}} , TerminationState{Buffer = off , fax/faxstate = Negotiating}} , Events = 16777230{fax/faxconnchange , al/on , al/fl}} , Modif
c=IN IP4 $
m=audio $ RTP/AVP 8
a=ptime:20
}} , TerminationState{Buffer = off , ipfax/faxstate = Negotiating , ctyp/calltyp = FAX}}}}}
________________________________
"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
________________________________
"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
_______________________________________________
Megaco mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/megaco