Subject: [Sigtran] M3UA: Synchronizing DPC availability state between ASPs in the same AS

From: Dan Gora <[email-masked]>
Date: Sat, 8 Apr 2017 01:42:25 -0300

Hi All,

We have a distributed M3UA implementation with two ASPs on different
physical hosts servicing a single AS talking to a single SGP in a
single SG:

SG1       AS1
---      -----
SGP1 --- ASP 1
     +-- ASP 2

It's unknown who the SGP/SG vendor is, but our customer is claiming
that when we start ASP 1 and ASP 2 that both will enter the ASP-Active
state with SGP1, then both ASP 1 and ASP 2 will each send a DAUD
message to SGP1.  However the problem is that the SGP will only reply
with a DAVA/DUNA to ASP 1.  Subsequent DAUD messages from ASP2 to
SGP1 are "replied to" by the SGP1 by sending the DAVA/DUNA to ASP
1, not ASP 2.  They also claim that this "should be sufficient".
They also claim that we should not need to send DAUD from ASP 2 at
all, that we should "coordinate" the DAUD sending so that only one
ASP sends a DAUD message.

Now this feels wrong to me.  There is nothing in the spec which
specifically states that the ASPs have to synchronize the destination
states between themselves just because they belong to the same AS.

There is also numerous places (RFC 4666: 3.4.1 (DUNA) and 3.4.2)
where it says that the DUNA/DAVA message is sent to "all concerned
ASPs" and in 4.5.1 where it says:

   The SGP M3UA layer determines the set of concerned ASPs to be
   informed based on the specific SS7 network for which the primitive
   indication is relevant.  In this way, all ASPs configured to
   send/receive traffic within a particular Network Appearance
   are informed.  If the SGP operates within a single SS7 Network
   Appearance, then all ASPs are informed.

Also it seems pretty clear from the specification that an ASP can
send a DAUD pretty much any time it wants and I've never seen anything
where a message can be "responded to" via a different association (ie
a different ASP).  There is certainly no description of any mechanism
by which sending DAUD has to be coordinated among the ASPs in an AS.

On the other hand...

I cannot find anything definitive about this.

Reading through the mailing list archives
there are notions where "SSNM messages are "per-AS""
(https://www.ietf.org/mail-archive/web/sigtran/current/msg00725.html)
and there is also the "philosophical" notion that an AS is the SAP
though which an MTP3 User accesses the MTP3 network and in this case
the AS is serviced via two (distributed) ASPs, which seems to imply
that the ASPs should have a synchronized view of the DPC status.

So, what should I think about this?  Are we required to synchronize
the destination state for an AS across all the ASPs automatically
(ie by sending a DAUD or receiving a DAVA/DUNA on only one ASP in
the group of ASPs serving this AS)?  If so, where does this appear
(or is even implied) in the spec?

Can I definitely tell the customer that either the SG is totally
broken or else something is misconfigured?

What might possibly be misconfigured to cause the SG to behave this
way? (I realize that this is totally a shot in the dark, we are
supposedly getting more information from the customer...)

Any tips would be most welcome.

thanks,
dan