Re: MEGACO version in ServiceChange Reply

Christian Groves <[email protected]> Fri, 24 Aug 2012 11:01:03 +1000
Newsgroups gmane.ietf.megaco
Message-ID <[email protected]>
Hello Chaim,

Section 11.3 /H.248.1 discusses protocol version negotiation. However I 
think it is a little ambiguous in this regard. It does not say 
explicitly that you should use version 1 in the ServiceChange.reply.

The text is below:
*11.3    Negotiation of protocol version*
/A ServiceChange Command from a MG that registers with an MGC shall 
contain the version number of the protocol supported by the MG in the 
ServiceChangeVersion parameter. Regardless of the version placed in the 
ServiceChangeVersion parameter, the message containing the command shall 
be encoded as a version 1 message.
Upon receiving such a message, if the MGC supports only a lower version, 
then the MGC shall send a ServiceChange Reply with the lower version 
and, thereafter, all the messages between MG and MGC shall conform to 
the lower version of the protocol. If the MG is unable to comply, and it 
has established a transport connection to the MGC, it should close that 
connection. In any event, it should reject all subsequent requests from 
the MGC with Error Code 406 ("Version Not Supported").
/ /If the MGC supports the version indicated by the MG, <<<it shall 
conform to that version in all subsequent messages>>>.  In this case it 
is optional for the MGC to return a version in the ServiceChange Reply./

I think the confusion comes from "in all subsequent messages". It could 
be argued that the message containing the ServiceChange.Reply is a 
"subsequent" message. However I think the intention at the time was that 
the subsequent messages meant messages after the 
Servicechange.req/.reply was completed (i.e. the control associated is 
fully established). This is shown by the Appendix I.

Also I don't think there is any other case where the version numbers 
associated with a message with Transaction.request and a message with a 
Transaction.reply change.

Therefore I think the safest behaviour is to use version 1 encoding for 
the message containing the ServiceChange.Reply

Regards, Christian

On 23/08/2012 2:54 AM, Chaim Geretz wrote:
> Hi,
>
> Assume MG sends a ServiceChange encoded as MEGACO/1 with VERSION=3
>
> MGC supports offered version, how does it encode the response; as 
> MEGACO/1 or MEGACO/3? I see the example in ITU H248.1 (09/2005) 
> Appendix I showing a response of MEGACO/1 but I was unable to find 
> this discussed anywhere else in the specification.
>
> Thank you
>
> Chaim Geretz
>
>
>
>
>
> _______________________________________________
> Megaco mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/megaco