[asterisk-users] Odd error in libpri

Richard Kenner kenner at gnat.com
Sun May 1 13:46:10 CDT 2011


I just updated libpri 1.4 on my system to the latest from that branch and
my QSIG connection to an NEC SV8300 stopped working.  The trace showing
the problem is below:

q931.c:5640 q931_connect: Call 7168 enters state 10 (Active).  Hold state: Idle

> DL-DATA request
> Protocol Discriminator: Q.931 (8)  len=21
> TEI=0 Call Ref: len= 2 (reference 7168/0x1C00) (Sent to originator)
> Message Type: CONNECT (7)
TEI=0 Transmitting N(S)=29, window is open V(A)=29 K=7

> Protocol Discriminator: Q.931 (8)  len=21
> TEI=0 Call Ref: len= 2 (reference 7168/0x1C00) (Sent to originator)
> Message Type: CONNECT (7)
> [18 03 a9 83 81]
> Channel ID (len= 5) [ Ext: 1  IntID: Implicit  Other(PRI)  Spare: 0  Exclusive  Dchan: 0
>                       ChanSel: As indicated in following octets
>                       Ext: 1  Coding: 0  Number Specified  Channel Type: 3
>                       Ext: 1  Channel: 1 Type: NET]
> [1e 02 81 82]
> Progress Indicator (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  0: 0  Location: Private network serving the local user (1)
>                               Ext: 1  Progress Description: Called equipment is non-ISDN. (2) ]
> [29 05 0b 05 01 0e 03]
> Time Date (len= 7) [ 11-05-01 14:03 ]

< Protocol Discriminator: Q.931 (8)  len=13
< TEI=0 Call Ref: len= 2 (reference 7168/0x1C00) (Sent from originator)
< Message Type: STATUS (125)
< [08 03 81 e0 29]
< Cause (len= 5) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0  Location: Private network serving the local user (1)
<                  Ext: 1  Cause: Mandatory information element is missing (96), class = Protocol Error (e.g. unknown message) (6) ]
<              Cause data 1: 29 (41)
< [14 01 04]
< Call State (len= 3) [ Ext: 0  Coding: CCITT (ITU) standard (0)  Call state: Call Delivered (4)
Received message for call 0x2aaab81d15c0 on link 0x1b0db440 TEI/SAPI 0/0
-- Processing IE 8 (cs0, Cause)
-- Processing IE 20 (cs0, Call State)

As I'm reading this, libpri thinks that the SV8300 is complaining that
a "mandatory" IE is missing, in this case time/date.  However, the field is
THERE.  But when I go back to a working libpri (r1878), I see that the
time/date is NOT sent on the CONNECT.

If I'm reading Q.931 correctly, 5.1.8 (page 118) says that the Date/time
IE may be included "as a network option".  

I see this was added to libpri at revision 2187, in response to issue
number 18047.

I played around a bit.  Since the spec includes seconds, I added seconds
to see if that made it work, but it didn't.

I DID work when I deleted Q931_IE_TIME_DATE from connect_net_ies.

Whether or not it's a bug for the SV8300 to reject that IE, it's likely
that NEC won't fix it.

This likely means that a new config option is needed, but I think that
means it'd also have to be done in chan_dahdi.c in Asterisk in addition
to libpri.  Is that right?



More information about the asterisk-users mailing list