Subject: Method, Reason and Version

From: "Rosen, Brian" <[email-masked]>
Date: Mon, 19 Feb 2001 15:03:33 -0500

The second Megaco Interop Event is underway.  An issue has arisen
on the parameters to ServiceChange.

The only required parameter to ServiceChange is Method.  There is
a note in the ABNF that Version is required on the REPLY to the
first ServiceChange.

The specific question was whether Reason is required on the first
ServiceChange.  The text is silent.  I think, at a minimum, we
should say Reason "SHOULD" be used on the first ServiceChange,
and I would like the Implementor's Guide to say so.

Version is optional on the first ServiceChange request 
because, I think, you can deduce it from the transaction
header.  The response echoes that header.  Seems to me that
the MG would use the highest version it could handle on the
request.  The reply would be used if the MGC couldn't handle
that version.  Presumably, the MGC would then shift to
a lower version.  Should the Implementor's Guide have some
words to that effect?

Brian

---

From: "Kevin Boyle" <[email-masked]>
Date: Mon, 19 Feb 2001 17:01:49 -0500

Section 11.3 says that the first ServiceChange "shall" contain the
Version parameter.  That seems explicit enough to me.

Kevin

---

From: Hakan Mattsson <[email-masked]>
Date: Tue, 20 Feb 2001 00:53:16 +0100 (MET)

On Mon, 19 Feb 2001, Rosen, Brian wrote:

Brian> on the parameters to ServiceChange.
Brian> 
Brian> The only required parameter to ServiceChange is Method.  There is
Brian> a note in the ABNF that Version is required on the REPLY to the
Brian> first ServiceChange.
Brian> 
Brian> The specific question was whether Reason is required on the first
Brian> ServiceChange.  The text is silent.  I think, at a minimum, we
Brian> should say Reason "SHOULD" be used on the first ServiceChange,
Brian> and I would like the Implementor's Guide to say so.

Its is rather unfortunate that the wordings of the semantics of
the ABNF and ASN.1 encodings are not syncronized. This is yet
another case where the semantics differs between the encodings. :-(

In ASN.1 BOTH the Method and Reason are mandatory:

    ServiceChangeParm ::= SEQUENCE
      {
	   serviceChangeMethod     ServiceChangeMethod,
	   serviceChangeAddress    ServiceChangeAddress OPTIONAL,
	   serviceChangeVersion    INTEGER(0..99) OPTIONAL,
	   serviceChangeProfile    ServiceChangeProfile OPTIONAL,
	   serviceChangeReason     Value,
	   serviceChangeDelay      INTEGER(0..4294967295) OPTIONAL,
				       -- 32 bit unsigned integer
	   serviceChangeMgcId      MId OPTIONAL,
	   timeStamp               TimeNotation OPTIONAL,
	   nonStandardData         NonStandardData OPTIONAL,
      }

Since the Reason is mandatory in ASN.1 I would prefer the wording
"MUST" rather than "SHOULD". (Alternatively make the Reason
optional in ASN.1)

/Håkan

---
Håkan Mattsson
Ericsson
Computer Science Laboratory
http://www.ericsson.se/cslab/~hakan