Subject: [Sigtran] What are the chances that SG may not send Notify messages to AS (M3UA)

From: Deepak Gunjal <[email-masked]>
Date: Wed, 23 Dec 2009 00:20:28 +0530

Hi,

I want to know that if SG implementations can opt to not send the Notify message for AS state change?

As per the RFC 4666 sending Notify messages is a SHOULD clause which recommends but not mandate the sending of Notify message unless there are very strong reason to not implement recommended behavior.

In such cases the ASP implementations will be required to shield themselves from such implementations. Although I haven't faced such issue till now but I heard that one of the leading M3UA testing tool vendor has told that their implementation does not send Notify or it can send Notify may be after AS has gone through two or more state changes.

Please suggest.

Thanks and Regards

Deepak

________________________________
"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."

---

From: Chris Benson <[email-masked]>
Date: Tue, 22 Dec 2009 11:43:19 -0800 (PST)

Deepak,

I won't estimate "chances" numerically (!), but I'd like
to point out that the Notify message concerning AS state
change is NOT optional but IS compulsory.

Section 4.3.4.5 "Notify Procedures" of RFC 4666 (same as RFC
3332 here) states (in part):

   A Notify message reflecting a change in the AS state MUST
   be sent to all ASPs in the AS, except those in the ASP-DOWN 
   state, with appropriate Status Information and any ASP 
   Identifier of the failed ASP.  At the ASP, Layer Management 
   is informed with an M-NOTIFY indication primitive.

I don't see anything optional about this, even in IPSP mode
described subsequently.  Those first three words "A Notify
message" unambiguously refer to the M3UA encoding "on the wire"
from the SGP side.  Indications that are internally generated 
(at the ASP) are distinguished by the name M-NOTIFY, in the 
second sentence above.

Perhaps the implementation which you dispute is referring
to other forms of the Notify message (such as Status Type
"Other"), or perhaps there's a difference reagrding the
time interval over which an AS is in the AS_PENDING state.
I presume that this last (PENDING) mechanism is to stop
unecessary oscillations between AS states as one ASP goes
INACTIVE and another ACTIVE in raspid succession. But
after a configurable time interval, the AS must leave
the AS-PENDING state, and a NOTIFY must be generated
by the SG side, if the longer term AS state has changed.

Good luck with getting those "chances" down to zero.

Chris Benson.

On Wed, 23 Dec 2009, Deepak Gunjal wrote:

>>  Date: Wed, 23 Dec 2009 00:20:28 +0530
>>  From: Deepak Gunjal <[email-masked]>
>>  To: "[email-masked]" <[email-masked]>
>>  Subject: [Sigtran] What are the chances that SG may not send Notify messages
>>       to AS (M3UA)
>>  
>>  Hi,
>>  
>>  
>>

---

From: Deepak Gunjal <[email-masked]>
Date: Wed, 23 Dec 2009 12:39:16 +0530

Hi Chris,

Thanks for your detailed reply. From the same section, 2nd paragraph "When an ASP moves from ASP-DOWN to ASP-INACTIVE within a particular AS, a Notify message SHOULD be sent, by the ASP-UP receptor, after  sending the ASP-UP-ACK, in order to inform the ASP of the current AS state."

Now as per the above statement when an ASP moves from ASP-DOWN to ASP-INACTIVE it seems that the Notify could be optional (SHOULD clause) and this is the cause of my doubt which a bit is an contradictory statement what has been written in the beginning of this section 4.3.4.5.

Can you please confirm if there is some misinterpretation from my side?

Thanks

Deepak

-----Original Message-----
From: Chris Benson [mailto:[email-masked]]
Sent: Wednesday, December 23, 2009 1:13 AM
To: Deepak Gunjal
Cc: [email-masked]
Subject: Re: [Sigtran] What are the chances that SG may not send Notify messages to AS (M3UA)

Deepak,

second sentence above.

Chris Benson.

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Wed, 23 Dec 2009 06:42:26 -0700

Deepak,

AS state is maintained on an SG-wide basis.  That is, there is one
coordinated AS state that is the same for all SGP that make up an
SG.  When this AS state changes, each ASP that is not in the
ASP-Down state (for some SGP) must be sent a notify message
informing the ASP of the change of AS state.

When an ASP moves from the ASP-DOWN to ASP-INACTIVE state within an
AS, the SG should inform the ASP of the coordinated AS state
provided that it hasn't done so already.  It is not optional.  It is
recommended and you need a very good reason not to do so in each
circumstance.

What are some reasons for not sending a Notify message when an
ASP-DOWN to ASP-INACTIVE transition occurs:

1. ASP-DOWN to ASP-INACTIVE transitions are per-SGP.  AS state is
   coordinated SG-wide.  The SG need only inform the ASP of AS state
   once (not once for each SGP in the SG).

2. The ASP-DOWN to ASP-INACTIVE transition causes the AS state to
   move from AS Down to AS Inactive.  In this case a Notify message
   must be send to signal the AS state transition and a separate
   message to inform the ASP of the current state is unnecessary.

I can't think of any more of the top of my head.

So what can you do if you are faced with a broken SG implementation
that ignores this recommendation?  First, tell them to fix it or
present the very good reasons why they are not sending it.  Then, if
you are forced to deal with such a broken implementation, consider
the following:

If the ASP-DOWN to ASP-INACTIVE state transition causes the AS to
change state from AS-DOWN to AS-INACTIVE then the Notify message
MUST be sent per 4.3.4.5.  Therefore, if the ASP does not receive a
Notify message, the SG is either terribly broken or the AS was not
in the AS-DOWN state previously: that is, the ASP is not the first
ASP in the AS.  This is actually a lot of information.  If no Notify
is received, there exists some other ASP in the AS that is aware of
the SG's view of AS state.  ASPs in an AS need to coordinate
themselves.  The ASP might obtain the AS state from this other ASP.

I actually brought this passage up as a last call issue on M3UAv02
(where is was added).  The issue was not resolved at last call.  In
fact there were many issues brought up at last call that were not
resolved.  The issue was that the ASP-DOWN to ASP-INACTIVE state
transition is not necessarily due to the ASP Up procedure  (it can
also occur as a result of the Registration procedure).  Therefore,
mention of the "ASP-UP receptor" is misleading.

When an ASP transitions from the ASP-DOWN to ASP-INACTIVE state for
the first time in a particular AS (for whatever reason) the ASP
should be informed by the SG of the current AS state with a Notify
message, unless it has already or will otherwise be notified of the
AS state.

Can you think of any good reason not to do that in a given
circumstance?

The danger of an SG not sending this Notify message is that the
ASP might sit around waiting for one.  This could be a bad thing
if the current AS state happens to be AS-ACTIVE (with insufficient
ASPs active), AS-PENDING or AS-INACTIVE.

--brian

Deepak Gunjal wrote:                         (Wed, 23 Dec 2009 12:39:16)
> 
>    Hi Chris,
> 
> 
> Thanks for your detailed reply. From the same section, 2^nd
> paragraph "When an ASP moves from ASP-DOWN to ASP-INACTIVE within
> a particular AS, a Notify message SHOULD be sent, by the ASP-UP
> receptor, after  sending the ASP-UP-ACK, in ord er to inform the
> ASP of the current AS state."
>  
> 
>    Now as per the above statement when an ASP moves from ASP-DOWN
>    to ASP-INACTIVE it seems that the Notify could be optional
>    (SHOULD clause) and this is the cause of my doubt which a bit
>    is an contradictory statement what has been written in the
>    beginning of this section 4.3.4.5.
> 
> 

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: Deepak Gunjal <[email-masked]>
Date: Wed, 23 Dec 2009 19:32:45 +0530

Hi Brian,

Thanks a lot for the detailed explanation. On the first instance reading RFC 4666, I thought that the Notify is must and we implemented the ASP based on it. It all worked fine until one day while using a tool from leading vendor we encountered this issue.

We discussed this issue with the vendor and he told us that it's not a must condition and they may send the Notify after two or more state changes. Also as per their comment they have seen "MANY" implementation which do not sends Notify which is itself very strange as we have also tested our system with two SG implementation which do sends Notify messages as expected.

But if such faulty implementation is present it will block our ASP from sending ASP-ACTIVE as we always wait for Notify (AS-INACTIVE) and will lead us to a deadlock situation. Also in our simulated environment no other ASP was active and hence state at AS should have been AS-DOWN and no other state should have been possible.

While going through the RFC in section 4.3.4.5, I found bit contradictory or would say confusing statements and where I could interpret Notify in some circumstances could be optional but as per your explanation I can clearly see that it is a must condition.

Right now I don't think very good reason why SG may take a deviation but will surely ask our vendor to provide some good reason for their implementation.

Thanks a lot.

Regards

Deepak

-----Original Message-----
From: Brian F. G. Bidulock [mailto:[email-masked]]
Sent: Wednesday, December 23, 2009 7:12 PM
To: Deepak Gunjal
Cc: Chris Benson; [email-masked]
Subject: Re: [Sigtran] What are the chances that SG may not send Notify messages to AS (M3UA)

Deepak,

circumstance.

the following:

AS state.

circumstance?

--brian

>    Can you please confirm if there is some misinterpretation from

>    my side?

--

Brian F. G. Bidulock

[email-masked]

http://www.openss7.org/

---

From: "David Laight" <[email-masked]>
Date: Wed, 23 Dec 2009 14:09:54 -0000

There are many implementations that only conform to RFC3332, so don't
send the initial NOTIFY
of the current state - only sending NOTIFY when the ASP state actually
changes.
 
This tends to cause problems when there are multiple AS in an ASP
(loadshare).
 
If they are doing a test tools, they should be rejecting such systems as
'non conformant' !
 
    David

	We discussed this issue with the vendor and he told us that it's
not a must condition and they may send the Notify after two or more
state changes. Also as per their comment they have seen "MANY"
implementation which do not sends Notify which is itself very strange as
we have also tested our system with two SG implementation which do sends
Notify messages as expected. 

Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)  
P Please consider the environment and don't print this e-mail unless you really need to
-- 
Scanned by iCritical.

---

From: Deepak Gunjal <[email-masked]>
Date: Wed, 23 Dec 2009 19:43:44 +0530

That is correct. In this particular case even the AS was created with two ASP in override mode and out of two ASP only one was coming active so I would not expect that Notify will not come.

________________________________
From: David Laight [mailto:[email-masked]]
Sent: Wednesday, December 23, 2009 7:40 PM
To: Deepak Gunjal; [email-masked]
Cc: [email-masked]
Subject: RE: [Sigtran] What are the chances that SG may not send Notify messages to AS (M3UA)

There are many implementations that only conform to RFC3332, so don't send the initial NOTIFY
of the current state - only sending NOTIFY when the ASP state actually changes.

This tends to cause problems when there are multiple AS in an ASP (loadshare).

If they are doing a test tools, they should be rejecting such systems as 'non conformant' !

    David

--
Scanned by iCritical.

---

From: Chris Benson <[email-masked]>
Date: Mon, 28 Dec 2009 15:53:59 -0800 (PST)

Deepak,

I think others have assisted you with compelling responses 
already. However, I don't believe that there is a contradiction 
in RFC 4666.  If the AS state has changed there MUST be a Notify 
message. If an ASP is just joining the club of inactive ASPs,
(and this fact alone doesn't change the AS state), then it 
SHOULD receive a Notify message, so it can get on-board with
the current AS state.

Brian and David have already commented before me why the SHOULD 
in my paragraph above "ought to have been" a MUST.  The RFC 
might contradict useful practice, but I don't think it contradicts 
itself. The second paragraph would have been clearer with an
"Otherwise" (i.e. not causing an AS state change).

The scenario you describe (first of two ASPs moves from DOWN to 
INACTIVE) is such that the AS state changes, and so the first 
MUST above (first sentence of Section 4.3.4.5) applies, and
that Notify is compulsory, even with this single AS state 
change. Note however, that the ASP can infer this from its
receipt of an ASP-UP-Ack when in AS-DOWN state.

With thanks, from Chris Benson.

On Wed, 23 Dec 2009, Deepak Gunjal wrote:

>>  Date: Wed, 23 Dec 2009 12:39:16 +0530
>>  To: Chris Benson <[email-masked]>
>>  Cc: "[email-masked]" <[email-masked]>