[asterisk-bugs] [LibPRI 0018232]: [patch] B410P gets incoming call packets on ISDN but DAHDI doesn't generate the call in Asterisk

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Nov 17 15:30:33 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18232 
====================================================================== 
Reported By:                lelio
Assigned To:                rmudgett
====================================================================== 
Project:                    LibPRI
Issue ID:                   18232
Category:                   General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     closed
Asterisk Version:           1.6.2.13 
JIRA:                        
libpri Version:             SVN 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.2 
SVN Revision (number only!): 293272 
Disclaimer on File?:        N/A 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2010-10-29 10:21 CDT
Last Modified:              2010-11-17 15:30 CST
====================================================================== 
Summary:                    [patch] B410P gets incoming call packets on ISDN but
DAHDI doesn't generate the call in Asterisk
Description: 
Experienced on both Asterisk 1.6.2.13 and Asterisk 1.8.0, with
Asterisk-Addons 1.6.2.1, libpri 1.4 SVN 2087,
dahdi-linux-complete-2.4.0+2.4.0, compiled from source on an OpenSuse 11.3
(32 bit), kernel 2.6.34-12.

One ISDN B channel, configured as TE, with span => 0,1,0,ccs,ami, but I
tried all kinds of timing and line build type without having changes.

When I call from outside, the ISDN receives a call packet, but doesn't
generate the call in Asterisk:

----- PRI INTENSE DEBUG LOG ------

t203_expire

> TEI: 0 State 7(Multi-frame established)
> V(A)=0, V(S)=0, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=0, N200=3, T203_id=0
> [ 00 01 01 01 ]
> Supervisory frame:
> SAPI: 00  C/R: 0 EA: 0
>  TEI: 000        EA: 1
> Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
> N(R): 000 P/F: 1
> 0 bytes of data
-- Starting T200 timer

< TEI: 0 State 8(Timer recovery)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 02 01 01 01 ]
< Supervisory frame:
< SAPI: 00  C/R: 1 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 000 P/F: 1
< 0 bytes of data

> TEI: 0 State 8(Timer recovery)
> V(A)=0, V(S)=0, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=1, N200=3, T203_id=0
> [ 02 01 01 01 ]
> Supervisory frame:
> SAPI: 00  C/R: 1 EA: 0
>  TEI: 000        EA: 1
> Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
> N(R): 000 P/F: 1
> 0 bytes of data
-- Got ACK for N(S)=0 to (but not including) N(S)=0
Done handling message for SAPI/TEI=0/0

< TEI: 0 State 8(Timer recovery)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 00 01 01 01 ]
< Supervisory frame:
< SAPI: 00  C/R: 0 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 000 P/F: 1
< 0 bytes of data
-- Got ACK for N(S)=0 to (but not including) N(S)=0
-- Stopping T200 timer
-- Starting T203 timer
Done handling message for SAPI/TEI=0/0

< TEI: 0 State 7(Multi-frame established)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=0, N200=3, T203_id=1
< [ 02 ff 03 08 01 0f 05 04 03 80 90 a3 18 01 89 6c 0a 21 80 2a 2a 2a 2a
2a 2a 2a 2a 70 0b a1 38 31 31 39 39 37 39 30 32 39 a1 ]
< Unnumbered frame:
< SAPI: 00  C/R: 1 EA: 0
<  TEI: 127        EA: 1
<   M3: 0   P/F: 0 M2: 0 11: 3  [ UI (unnumbered information) ]
< 38 bytes of data
Done handling message for SAPI/TEI=0/127

< TEI: 0 State 7(Multi-frame established)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=0, N200=3, T203_id=1
< [ 02 ff 03 08 01 0f 05 04 03 80 90 a3 18 01 89 6c 0a 21 80 2a 2a 2a 2a
2a 2a 2a 2a 70 0b a1 38 31 31 39 39 37 39 30 32 39 a1 ]
< Unnumbered frame:
< SAPI: 00  C/R: 1 EA: 0
<  TEI: 127        EA: 1
<   M3: 0   P/F: 0 M2: 0 11: 3  [ UI (unnumbered information) ]
< 38 bytes of data
Done handling message for SAPI/TEI=0/127
t203_expire

> TEI: 0 State 7(Multi-frame established)
> V(A)=0, V(S)=0, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=0, N200=3, T203_id=0
> [ 00 01 01 01 ]
> Supervisory frame:
> SAPI: 00  C/R: 0 EA: 0
>  TEI: 000        EA: 1
> Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
> N(R): 000 P/F: 1
> 0 bytes of data
-- Starting T200 timer

< TEI: 0 State 8(Timer recovery)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 02 01 01 01 ]
< Supervisory frame:
< SAPI: 00  C/R: 1 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 000 P/F: 1
< 0 bytes of data

> TEI: 0 State 8(Timer recovery)
> V(A)=0, V(S)=0, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=1, N200=3, T203_id=0
> [ 02 01 01 01 ]
> Supervisory frame:
> SAPI: 00  C/R: 1 EA: 0
>  TEI: 000        EA: 1
> Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
> N(R): 000 P/F: 1
> 0 bytes of data
-- Got ACK for N(S)=0 to (but not including) N(S)=0
Done handling message for SAPI/TEI=0/0

< TEI: 0 State 8(Timer recovery)
< V(A)=0, V(S)=0, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 00 01 01 01 ]
< Supervisory frame:
< SAPI: 00  C/R: 0 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 000 P/F: 1
< 0 bytes of data
-- Got ACK for N(S)=0 to (but not including) N(S)=0
-- Stopping T200 timer
-- Starting T203 timer
Done handling message for SAPI/TEI=0/0

----- PRI INTENSE DEBUG LOG END ------

Outgoing calls work for some time after router reset but, after a while
(expecially after 2-3 failed incoming calls), doesn't work any longer, with
the following debug output:

----- PRI INTENSE DEBUG LOG BEGIN ------

    -- Executing [1-dial at macro-trunkdial-failover-0.3:1]
Dial("Console/dsp", "DAHDI/g1/3935493027") in new stack
-- Making new call for cref 32769
    -- Requested transfer capability: 0x00 - SPEECH

> DL-DATA request
> Protocol Discriminator: Q.931 (8)  len=30
> TEI=0 Call Ref: len= 1 (reference 1/0x1) (Sent from originator)
> Message Type: SETUP (5)
TEI=0 Transmitting N(S)=0, window is open V(A)=0 K=1

> TEI: 0 State 7(Multi-frame established)
> V(A)=0, V(S)=0, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=0, N200=3, T203_id=1
> [ 00 01 00 00 08 01 01 05 04 03 80 90 a3 18 01 81 6c 02 21 80 70 0b a1
33 39 33 35 34 39 33 30 32 37 a1 ]
> Informational frame:
> SAPI: 00  C/R: 0 EA: 0
>  TEI: 000        EA: 1
> N(S): 000   0: 0
> N(R): 000   P: 0
> 30 bytes of data
> Protocol Discriminator: Q.931 (8)  len=30
> TEI=0 Call Ref: len= 1 (reference 1/0x1) (Sent from originator)
> Message Type: SETUP (5)
> [04 03 80 90 a3]
> Bearer Capability (len= 5) [ Ext: 1  Coding-Std: 0  Info transfer
capability: Speech (0)
>                              Ext: 1  Trans mode/rate: 64kbps,
circuit-mode (16)
>                                User information layer 1: A-Law (35)
> [18 01 81]
> Channel ID (len= 3) [ Ext: 1  IntID: Implicit  BRI  Spare: 0  Preferred 
Dchan: 0
>                       ChanSel: B1 channel
>                     ]
> [6c 02 21 80]
> Calling Number (len= 4) [ Ext: 0  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
>                           Presentation: Presentation permitted, user
number not screened (0)  '' ]
> [70 0b a1 33 39 33 35 34 39 33 30 32 37]
> Called Number (len=13) [ Ext: 1  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)  '3935493027' ]
> [a1]
> Sending Complete (len= 1)
-- Stopping T203 timer
-- Starting T200 timer
q931.c:5425 q931_setup: Call 32769 enters state 1 (Call Initiated).  Hold
state: Idle
    -- Called g1/3935493027

< TEI: 0 State 7(Multi-frame established)
< V(A)=0, V(S)=1, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 00 01 01 02 ]
< Supervisory frame:
< SAPI: 00  C/R: 0 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 001 P/F: 0
< 0 bytes of data
-- Got ACK for N(S)=0 to (but not including) N(S)=1
-- ACKing N(S)=0, tx_queue head is N(S)=-1 (-1 is empty, -2 is not
transmitted)
-- Stopping T200 timer
-- Starting T203 timer
Done handling message for SAPI/TEI=0/0

> DL-DATA request
> Protocol Discriminator: Q.931 (8)  len=30
> TEI=0 Call Ref: len= 1 (reference 1/0x1) (Sent from originator)
> Message Type: SETUP (5)
TEI=0 Transmitting N(S)=1, window is open V(A)=1 K=1

> TEI: 0 State 7(Multi-frame established)
> V(A)=1, V(S)=1, V(R)=0
> K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
> T200_id=0, N200=3, T203_id=1
> [ 00 01 02 00 08 01 01 05 04 03 80 90 a3 18 01 81 6c 02 21 80 70 0b a1
33 39 33 35 34 39 33 30 32 37 a1 ]
> Informational frame:
> SAPI: 00  C/R: 0 EA: 0
>  TEI: 000        EA: 1
> N(S): 001   0: 0
> N(R): 000   P: 0
> 30 bytes of data
> Protocol Discriminator: Q.931 (8)  len=30
> TEI=0 Call Ref: len= 1 (reference 1/0x1) (Sent from originator)
> Message Type: SETUP (5)
> [04 03 80 90 a3]
> Bearer Capability (len= 5) [ Ext: 1  Coding-Std: 0  Info transfer
capability: Speech (0)
>                              Ext: 1  Trans mode/rate: 64kbps,
circuit-mode (16)
>                                User information layer 1: A-Law (35)
> [18 01 81]
> Channel ID (len= 3) [ Ext: 1  IntID: Implicit  BRI  Spare: 0  Preferred 
Dchan: 0
>                       ChanSel: B1 channel
>                     ]
> [6c 02 21 80]
> Calling Number (len= 4) [ Ext: 0  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
>                           Presentation: Presentation permitted, user
number not screened (0)  '' ]
> [70 0b a1 33 39 33 35 34 39 33 30 32 37]
> Called Number (len=13) [ Ext: 1  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)  '3935493027' ]
> [a1]
> Sending Complete (len= 1)
-- Stopping T203 timer
-- Starting T200 timer

< TEI: 0 State 7(Multi-frame established)
< V(A)=1, V(S)=2, V(R)=0
< K=1, RC=0, l3_initiated=0, reject_except=0, ack_pend=0
< T200_id=1, N200=3, T203_id=0
< [ 00 01 01 04 ]
< Supervisory frame:
< SAPI: 00  C/R: 0 EA: 0
<  TEI: 000        EA: 1
< Zero: 0     S: 0 01: 1  [ RR (receive ready) ]
< N(R): 002 P/F: 0
< 0 bytes of data
-- Got ACK for N(S)=1 to (but not including) N(S)=2
-- ACKing N(S)=1, tx_queue head is N(S)=-1 (-1 is empty, -2 is not
transmitted)
-- Stopping T200 timer
-- Starting T203 timer
Done handling message for SAPI/TEI=0/0
q931.c:8446 pri_internal_clear: Call 32769 enters state 0 (Null).  Hold
state: Idle
clearing, alive 1, hangupack 1
    -- Channel 0/1, span 1 got hangup, cause 18
q931_hangup: other hangup
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null,
hold-state Idle
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null,
hold-state Idle
    -- Hungup 'DAHDI/1-1'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [1-dial at macro-trunkdial-failover-0.3:2]
GotoIf("Console/dsp", "0 > 0 ?1-CHANUNAVAIL,1:1-out,1") in new stack
    -- Goto (macro-trunkdial-failover-0.3,1-out,1)
    -- Executing [1-out at macro-trunkdial-failover-0.3:1]
Hangup("Console/dsp", "") in new stack
  == Spawn extension (macro-trunkdial-failover-0.3, 1-out, 1) exited
non-zero on 'Console/dsp' in macro 'trunkdial-failover-0.3'
  == Spawn extension (DLPN_DP_Soci, 3935493027, 1) exited non-zero on
'Console/dsp'
 << Hangup on console >>

----- PRI INTENSE DEBUG LOG END ------

Placing a subsequent call shows a log similar to the first one.
====================================================================== 

---------------------------------------------------------------------- 
 (0128935) svnbot (reporter) - 2010-11-17 15:30
 https://issues.asterisk.org/view.php?id=18232#c128935 
---------------------------------------------------------------------- 
Repository: libpri
Revision: 2138

U   tags/1.4.11.5/q921.c

------------------------------------------------------------------------
r2138 | rmudgett | 2010-11-17 15:30:32 -0600 (Wed, 17 Nov 2010) | 21 lines

Merged revision 2088 from
https://origsvn.digium.com/svn/libpri/branches/1.4

..........
  r2088 | rmudgett | 2010-11-02 14:11:01 -0500 (Tue, 02 Nov 2010) | 14
lines

  B410P gets incoming call packets on ISDN but Asterisk doesn't see the
call.

  The Cisco 1751 with VIC 2-BRI ports sends out SETUP messages on the
  broadcast TEI as if the BRI were PTMP even though it is configured for
PTP
  mode.

  Make PTP mode also accept frames on SAPI=0, TEI=127 (Broadcast).

  (closes issue https://issues.asterisk.org/view.php?id=18232)
  Reported by: lelio
  Patches:
	issue18232_v1.4.patch uploaded by rmudgett (license 664)
  Tested by: lelio
..........

------------------------------------------------------------------------

http://svn.digium.com/view/libpri?view=rev&revision=2138 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-11-17 15:30 svnbot         Note Added: 0128935                          
======================================================================




More information about the asterisk-bugs mailing list