[asterisk-users] External callerid issues using Q931 against Toshiba Strata

Richard Mudgett rmudgett at digium.com
Thu Mar 15 11:09:18 CDT 2012


> I currently have an Asterisk 1.6.2.18 server running a patched (see
> below) libpri 1.4.10.2 connected to a Toshiba Strata CTX670. All
> external calls come in via the Strata and then are routed to the
> Asterisk server over a single PRI link using Q931. This setup is
> working and has been working for some time (with various earlier
> versions of Asterisk) and with a patch (read hack) to libpri I've
> managed to successfully pass through the numerical portion of the
> callerid from the Strata.
> 
> I would like to upgrade to Asterisk 1.8 or 10 and use libpri 1.4.12
> but am having difficulties picking up the callerid from the Strata
> and
> due to significant changes in libpri my patch no longer applies.
> 
> Below is a pri intense debug capturing the Strata sending through the
> callerid with libpri upgraded to 1.4.12 (running Dahdi 2.4.1). Libpri
> obviously receives the callerid information, but I am unsure of how
> to
> actually access it in Asterisk. I expect that if the callerid
> information is properly acquired and recognized in libpri it would
> simply be accessible in Asterisk in the 'CALLERID(all)' variable, but
> it is always empty. Internal calls from an extension on the Strata to
> an Asterisk extension show the callerid as expected.
> 
> Does anyone have any tips on how to get Asterisk to use the callerid
> passed through by the Strata?
> 
> Thanks!
> 
> Justin
> 
> chan_dahdi.conf (group 2 is used outgoing only):
> [trunkgroups]
> 
> [channels]
> usecallerid=yes
> hidecallerid=no
> callwaiting=yes
> usecallingpres=yes
> callwaitingcallerid=yes
> transfer=yes
> cancallforward=yes
> echocancel=128
> echocancelwhenbridged=yes
> echotraining=no
> rxgain=0.0
> txgain=-10
> context=from-toshiba
> overlapdial=no
> facilityenable=yes
> switchtype=qsig
> signalling=pri_net
> group=1
> channel => 1-23
> switchtype=national
> signalling=pri_cpe
> group=2
> channel => 25-47
> 
> 
> pri intense debug:
> < TEI: 0 State 7(Multi-frame established)
> < V(A)=31, V(S)=31, V(R)=42
> < K=7, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> < T200_id=0, N200=3, T203_id=8192
> < [ 00 01 54 3e 08 02 01 b3 62 1c 66 9f aa 06 80 01 00 82 01 00 a1 31
> 02 02 01 3a 02 01 0c 30 28 0a 01 01 a0 0f 80 0a 35 35 35 35 35 35 31
> 36 33 31 0a 01 00 80 0f 41 41 41 20 49 54 2d 44 41 54 41 00 00 00 00
> 0a 01 01 a1 28 02 02 01 3b 02 01 55 30 1f 86 01 00 a7 1a 06 0a 31 33
> 31 32 32 31 35 35 35 35 30 0c 81 01 07 8c 04 39 34 31 31 95 01 00 ]
> < Informational frame:
> < SAPI: 00  C/R: 0 EA: 0
> <  TEI: 000        EA: 1
> < N(S): 042   0: 0
> < N(R): 031   P: 0
> < 109 bytes of data
> < Protocol Discriminator: Q.931 (8)  len=109
> < TEI=0 Call Ref: len= 2 (reference 435/0x1B3) (Sent from originator)
> < Message Type: FACILITY (98)
> < [1c 66 9f aa 06 80 01 00 82 01 00 a1 31 02 02 01 3a 02 01 0c 30 28
> 0a 01 01 a0 0f 80 0a 35 35 35 35 35 35 31 36 33 31 0a 01 00 80 0f 41
> 41 41 20 49 54 2d 44 41 54 41 00 00 00 00 0a 01 01 a1 28 02 02 01 3b
> 02 01 55 30 1f 86 01 00 a7 1a 06 0a 31 33 31 32 32 31 35 35 35 35 30
> 0c 81 01 07 8c 04 39 34 31 31 95 01 00]
> < Facility (len=104, codeset=0) [ 0x9F, 0xAA, 0x06, 0x80, 0x01, 0x00,
> 0x82, 0x01, 0x00, 0xA1, '1', 0x02, 0x02, 0x01, ':', 0x02, 0x01, 0x0C,
> '0(', 0x0A, 0x01, 0x01, 0xA0, 0x0F, 0x80, 0x0A, '5555551631', 0x0A,
> 0x01, 0x00, 0x80, 0x0F, 'AAA IT-DATA', 0x00, 0x00, 0x00, 0x00, 0x0A,
> 0x01, 0x01, 0xA1, '(', 0x02, 0x02, 0x01, ';', 0x02, 0x01, 'U0', 0x1F,
> 0x86, 0x01, 0x00, 0xA7, 0x1A, 0x06, 0x0A, '13122155550', 0x0C, 0x81,
> 0x01, 0x07, 0x8C, 0x04, '9411', 0x95, 0x01, 0x00 ]
> -- Got ACK for N(S)=31 to (but not including) N(S)=31
> -- T200 requested to stop when not started
> T203 requested to start without stopping first
> -- Starting T203 timer
> Received message for call 0x7f5020283b80 on link 0xb2f010 TEI/SAPI
> 0/0
> -- Processing IE 28 (cs0, Facility)
> -- Delayed processing IE 28 (cs0, Facility)
> ASN.1 dump
>   Context Specific/C [10 0x0A] <AA> Len:6 <06>
>     Context Specific [0 0x00] <80> Len:1 <01>
>       <00> - "~"
>     Context Specific [2 0x02] <82> Len:1 <01>
>       <00> - "~"
>   Context Specific/C [1 0x01] <A1> Len:49 <31>
>     Integer(2 0x02) <02> Len:2 <02>
>       <01 3A> - "~:"
>     Integer(2 0x02) <02> Len:1 <01>
>       <0C> - "~"
>     Sequence/C(48 0x30) <30> Len:40 <28>
>       Enumerated(10 0x0A) <0A> Len:1 <01>
>         <01> - "~"
>       Context Specific/C [0 0x00] <A0> Len:15 <0F>
>         Context Specific [0 0x00] <80> Len:10 <0A>
>           <35 35 35 35 35 35 31 36-33 31> - "5555551631"
>         Enumerated(10 0x0A) <0A> Len:1 <01>
>           <00> - "~"
>       Context Specific [0 0x00] <80> Len:15 <0F>
>         <41 41 41 20 49 54 2D 44-41 54 41 00 00 00 00> - "AAA
>         IT-DATA~~~~"
>       Enumerated(10 0x0A) <0A> Len:1 <01>
>         <01> - "~"
>   Context Specific/C [1 0x01] <A1> Len:40 <28>
>     Integer(2 0x02) <02> Len:2 <02>
>       <01 3B> - "~;"
>     Integer(2 0x02) <02> Len:1 <01>
>       <55> - "U"
>     Sequence/C(48 0x30) <30> Len:31 <1F>
>       Context Specific [6 0x06] <86> Len:1 <01>
>         <00> - "~"
>       Context Specific/C [7 0x07] <A7> Len:26 <1A>
>         OID(6 0x06) <06> Len:10 <0A>
>           <31 33 31 32 32 31 35 35-35 35> - "1312215555"
>         Sequence/C(48 0x30) <30> Len:12 <0C>
>           Context Specific [1 0x01] <81> Len:1 <01>
>             <07> - "~"
>           Context Specific [12 0x0C] <8C> Len:4 <04>
>             <39 34 31 31> - "9411"
>           Context Specific [21 0x15] <95> Len:1 <01>
>             <00> - "~"
> ASN.1 end
>   nfe NetworkFacilityExtension Context Specific/C [10 0x0A]
>   sourceEntity Context Specific [0 0x00] = 0 0x0000
>   destinationEntity Context Specific [2 0x02] = 0 0x0000
> INVOKE Component Context Specific/C [1 0x01]
>   invokeId Integer(2 0x02) = 314 0x013A
>   operationValue Integer(2 0x02) = 12 0x000C
>   operationValue = ROSE_QSIG_CallTransferComplete
>   CallTransferComplete Sequence/C(48 0x30)
>   endDesignation Enumerated(10 0x0A) = 1 0x0001
>   redirectionNumber PresentedNumberScreened
>   presentationAllowedNumber NumberScreened Context Specific/C [0
>   0x00]
>   partyNumber PartyNumber
>   unknownPartyNumber Context Specific [0 0x00] = "5555551631"
>   screeningIndicator Enumerated(10 0x0A) = 0 0x0000
>   redirectionName Name
>   namePresentationAllowedSimple Context Specific [0 0x00] =
>     <41 41 41 20 49 54 2D 44-41 54 41 00 00 00 00> - "AAA
>     IT-DATA~~~~"
>   callStatus Enumerated(10 0x0A) = 1 0x0001
> INVOKE Component Context Specific/C [1 0x01]
>   invokeId Integer(2 0x02) = 315 0x013B
>   operationValue Integer(2 0x02) = 85 0x0055
>   operationValue = ROSE_Unknown
>   Skipping unused constructed component octets!
> !! ROSE invoke operation not handled on switchtype:Q.SIG switch!
> ROSE_Unknown

Is the information you are interested in in the ROSE_QSIG_CallTransferComplete
section of the FACILITY or the ROSE_Unknown section?  Both contain numbers.

If it is the ROSE_QSIG_CallTransferComplete section then I need to see
more messages to know what is happening in the call.  I also do not need to
see intense output because your issue is in the Q.931 level and not the Q.921
level.

Richard



More information about the asterisk-users mailing list