[asterisk-bugs] [Asterisk 0014292]: [patch] CCBS/CCNR support for QSIG (libpri & chan_dahdi)

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Sep 14 11:16:01 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14292 
====================================================================== 
Reported By:                tomaso
Assigned To:                rmudgett
====================================================================== 
Project:                    Asterisk
Issue ID:                   14292
Category:                   Channels/chan_dahdi/NewFeature
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     assigned
Target Version:             1.6.x Version Tracker
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 162497 
Request Review:              
====================================================================== 
Date Submitted:             2009-01-21 03:33 CST
Last Modified:              2009-09-14 11:16 CDT
====================================================================== 
Summary:                    [patch] CCBS/CCNR support for QSIG (libpri &
chan_dahdi)
Description: 
Based on the COLP/CONP work in asterisk team branch issue8824
http://svn.digium.com/view/asterisk/team/group/issue8824 and the QSIG
COLP/CONP patch in issue 0014068 here comes another patch for chan_dahdi &
libpri regarding the ISDN/QSIG CCBS/CCNR feature.

Since there is some basic stuff done in issue 0014068 regarding QSIG
facility handling in libpri and chan_dahdi the patches requires the patches
from issue 0014068 first.

It has been tested with HiPath 3000 V4.0 and HICOM 300.

libpri-1.4-2008-12-10-ccbsccnr-0.1.0.patch adds CCBS/CCNR support to
libpri-1.4 branch. 
asterisk-issue8824-2008-12-10-ccbsccnr-0.1.0.patch is used to patch
chan_dahdi.c in asterisk-issue8824. 

QSIG CCBS-CCNR.doc is a short description of the new dahdi dialplan
applications and gives information how to use them in the dialplan.


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0014068 [patch] COLP/CONP support in QSIG
====================================================================== 

---------------------------------------------------------------------- 
 (0110605) tomaso (reporter) - 2009-09-14 11:16
 https://issues.asterisk.org/view.php?id=14292#c110605 
---------------------------------------------------------------------- 
I have to report some bugs & associated fixes (mostly) regarding the
COLP/CONP/CCBS/CCNR feature. 
I think the best place to post them here 'on block'.
(Sorry, we still working on the original issue8824 based branch, but the
same should be applied on this 14292 branch too)


Feature related bugs:
--------------------
--------------------

1. Call rerouting (Sending QSIG facility)
----------------------------------------
a) Account for pSS1InfoElement where the bearer capability for the new
rerouted call is described.
It Call could be a fax or data call, let's use the appropriate signalling
to avoid call call rejects.
b) Handle calling number element appropriate, number can be prohibited or
non-existent
c) For calling number element use "unknown number" better than "private
number"

Fix see libpri-1.4-2009-01-29-rerouting-0.1.9.patch

2. Stop CCBS/CCNR response-timer immediately if CCBS/CCNR is not possible
-------------------------------------------------------------------------

Proposed fix see ccbsccnrabort.patch
and change CCBS/CCNR TIMER_T1 macro in dialplan, taking respect of  
${CCBSNRREQSTATE}"="ABORTED"

macro TIMER_T1() {
	CC_TIMER_T1 = 10;
	while ( ${CC_TIMER_T1} > 0 ) {
		CC_TIMER_T1 = ${CC_TIMER_T1}-1;
		Wait(1);
		if ( "${CCBSNRREQSTATE}"="ACTIVATED" ) {
			Playback(rueckruf-programmiert);
			return;
		}
		else if ( "${CCBSNRREQSTATE}"="ABORTED" ) {
			Playback(kein&rueckruf-programmiert);
			return;
		}
	}
	// Timeout
	Playback(kein&rueckruf-programmiert);
	return;

}; // Macro Ende

3. Take diverted-to-number from DivLegInfo1 to present it as connected
number
-----------------------------------------------------------------------------
 (when no ISDN connected number is signalled in an ISDN Connect
afterwards)

Fix see divleginfo1_to_connectednum.patch

Not feature related:
--------------------
--------------------

1. Hanging (never released) pri channels when using Busy() (or
Congestion()) dialplan-application
----------------------------------------------------------------------------

When the Busy() or Congestion() application is used towards ISDN (an ISDN
progress is sent), the responding ISDN Disconnect 
or Release may contain the ISDN cause user busy or one of the congestion
causes. In chan_dahdi.c these causes will only set the 
needbusy or needcongestion flags and not activating the softhangup
procedure. Unfortunately only the ladder can interrupt the
endless wait loop of Busys()/Congestion(). Result: pri channels keep
staying in state busy for the rest of * life.

Fix see dic_rel_userbusy.patch for chan_dahdi.c


2. Segmentation fault in chan_local when calling 'core show channels'
(intensively) and simultaneous 
generating calls towards pri/ISDN
--------------------------------------------------------------------

For replication apply similar scripts as below:

Shell 1:
while true; do i=0; while [ $i -lt 13 ]; do echo $i; printf
"Channel:local/80455004 at from-sbc\nCallerid:<$(date
+%s)>\nApplication:Playback\nData:tt-weasels\n" >
/var/spool/asterisk/tmp/$i;
mv /var/spool/asterisk/tmp/$i /var/spool/asterisk/outgoing/$i; sleep 0.5;
i=$((i+1)); done; sleep 7; done

Shell 2:
while true; do clear; rasterisk -x"core show channels"; sleep 1; done

Fix see	chan_local.patch 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-09-14 11:16 tomaso         Note Added: 0110605                          
======================================================================




More information about the asterisk-bugs mailing list