Subject: Version negotiation and message headers

From: Mark Mitchell <[email-masked]>
Date: Thu, 8 Mar 2001 12:30:18 -0000

Hi there,

I've got some questions on version negotiation.  The spec is pretty clear
about how to negotiate versions on the original ServiceChange commands
(section 11.3).  However, we're not sure about how this fits in with the
version number that appears in the Megaco message header (i.e. "MEGACO/1"
for version 1).  Presumably this version will change when version 2 of the
protocol appears?

Our understanding is that at this point, a Gateway sending a service change
and supporting version 2 will send a message with a header of "MEGACO/2" and
version 2 in the ServiceChange command.  If the MGC only supports version 1,
it will respond with version 1 in the ServiceChange response and in the
message header.  After this, future messages from the MG should adhere to
version 1.   This raises a few questions.

- Presumably this means that subsequent Gateway messages should have 1 in
the message header?

- When parsing a message, should we parse based on the negotiated version
(from the ServiceChanges) rather than the version in the message header?
This is particularly interesting with regards to the first response - we
have sent Version 2 but as the MGC has responded with version 1 we will need
to parse this response according to the version 1 spec.  I presume we would
parse as far as the version number, realise this is V1 and use V1 rules to
parse?

- Should we reject a message that has a version number in the message ID
that disagrees with the negotiated version?

Sorry for thinking so far in advance!

Regards,

Mark

-------
Mark Mitchell
Development Manager - DC-MGCP/DC-Megaco
Voice Networking Group
Data Connection Ltd
Tel: +44 20 8366 1177
Fax: +44 20 8363 1468
Email: [email-masked]
Web: http://www.dataconnection.com

---

From: Nancy Devin <[email-masked]>
Date: Thu, 08 Mar 2001 08:16:10 -0500

Hi all,

Regarding the discussed scenario, MG supports only version 2 and MGC supports
only version 1.

When the MG sends its first serviceChange command, the message version is
version 2.  Within the serviceChange command, the version parameter is 2.  How
can the MGC parse the serviceChange command if it only support version 1?

Suppose it can parse the serviceChange command.  It replies with the
serviceChangeReply and indicates that it wants to use version 1 through the
version parameter.  The message version is then 1.  How can the MG parse the
message if it does not support version 1.

That would mean that the MG can not register with the MGC.  Is it a requirement
to know which common version is supported by both the MG and the MGC before
registration?

Nancy

--
Nancy Devin
Software Designer

Alcatel
600 March Road, P.O. Box 13600
Kanata, Ontario, Canada
K2K 2E6

Telephone: (613) 591-3600 x6897
Fax:       (613) 599-3609
Internet:  [email-masked]