Thursday, September 5, 2013

MANDATORY_IE_MISSING with Adtran Atlas 800

We were turning up a new PRI service with our old trusty Atlas Adtran 800 and while we could make outbound calls, we could not make incoming calls.  Odd.. because outbound is normally the harder one to get configurations to align!

The symptom was found by using the ISDN tracing of the Adtran - using ISDN L2 Formatted messaging set to INFO level

Watching a call, we saw the normal setup message followed by a facility message.. to which the Adtran replied back with a MANDATORY_IE_MISSING error

===================================================
Recd = Sapi:00  C/R:C Tei:00
       Ctl:INFO     Ns:2   Nr:2
       Prot:08  CRL:2  CRV:1844
       M - 62 FACILITY
        IE - 1C FACILITY            Len=29
          9F 8B 01 00 A1 17 02 01 74 02 01 00 80 0F 44
 75 6d 6d 79 56 61 6c 75 65
===================================================
Sent = Sapi:00  C/R:R Tei:00
       Ctl:INFO     Ns:2   Nr:3
       Prot:08  CRL:2  CRV:9844
       M - 7D STATUS
        IE - 08 CAUSE               Len=3
             80 Location:U
             E0 Cause:MANDATORY_IE_MISSING
             20 Diagnostic:
        IE - 14 CALL STATE          Len=1
          09
===================================================

In the mean time, the call had already gone to ALERTING, but the remote switch hangs up with 

===================================================
Recd = Sapi:00  C/R:C Tei:00
       Ctl:INFO     Ns:3   Nr:3
       Prot:08  CRL:2  CRV:1844
       M - 45 DISCONNECT
        IE - 08 CAUSE               Len=2
             82 Location:LN
             EF Cause:PROTOCOL_ERROR
===================================================

The facility message is actually a Caller ID Name message.  This seems to confuse the Adtran 800, so it sends the IE missing message, to which in turn the remote switch then kills the call.

CallerID Name differs from just regular CallerID in that the info is sent as this facility message after the setup message.

We proved caller ID was the culprit by blocking caller ID on the test call (just dialing *67 as a prefix) and there was no facility message and the Adtran handled the call just fine!

The permanent fix is to change the provisioning on our circuit to present Calling ID digits only, no name.

No comments: