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

Justin Chevrier jchevrier at gmail.com
Fri Mar 16 07:21:04 CDT 2012


On Thu, Mar 15, 2012 at 12:09 PM, Richard Mudgett <rmudgett at digium.com> wrote:
>> 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
>
> --
> _____________________________________________________________________
> -- 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

Resending below (guess the original attachment was too big).

I'm looking for the information contained in the
ROSE_QSIG_CallTransferComplete section. I have attached a complete log
of the call (with intense debug on unfortunately). An additional note:

1. The Strata system initially sends through a virtual internal
extension number ('1607' in the log) as the originating number. In the
dial plan I immediately play back a ringing sound to the Strata which
causes it to then send through the real external callerid information.
As such my original email was a bit off the mark, I get a blank
callerid name and the callerid number is the virtual internal
extension. Apologies for the confusion.

Thanks again,

Justin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pri_full.tar.gz
Type: application/x-gzip
Size: 5216 bytes
Desc: not available
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20120316/f67c55f5/attachment.bin>


More information about the asterisk-users mailing list