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? -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
