On Fri, Mar 16, 2012 at 11:43 AM, Richard Mudgett <[email protected]> wrote: > <snip> > >> >> 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 > > <snip> > >> 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. > > The ROSE_QSIG_CallTransferComplete message has the callStatus set to 1 > which indicates that the peer is ringing. Libpri is waiting for a > ROSE_QSIG_CallTransferActive to post the connected line information > because the ROSE_QSIG_CallTransferComplete connected line information > may not have the correct presentation value available. I suspect > that the Strata is sending the wrong value for that parameter because > it seems to be telling Asterisk that it is ringing instead. > > You could try this hack: > > Index: pri_facility.c > =================================================================== > --- pri_facility.c (revision 2283) > +++ pri_facility.c (working copy) > @@ -5194,12 +5194,7 @@ > */ > q931_party_subaddress_init(&call->remote_id.subaddress); > > - if (invoke->args.qsig.CallTransferComplete.call_status == 1) { > - /* The remote party for the transfer has not answered > yet. */ > - call->incoming_ct_state = > INCOMING_CT_STATE_EXPECT_CT_ACTIVE; > - } else { > - call->incoming_ct_state = > INCOMING_CT_STATE_POST_CONNECTED_LINE; > - } > + call->incoming_ct_state = > INCOMING_CT_STATE_POST_CONNECTED_LINE; > > /* Send our subaddress back if we have one. */ > if (call->local_id.subaddress.valid) { > > 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
I can confirm that the provided patch allows Asterisk to pickup both the external callerid name and number. Going forward is there a clean way to handle this issue, or can it really only live as a hack? Thank you very much for the quick replies and spot on help! Justin -- _____________________________________________________________________ -- 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
