[asterisk-bugs] [Asterisk 0018378]: [patch] Disable connected line updates for dahdi PRI channel

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Nov 25 19:05:12 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18378 
====================================================================== 
Reported By:                asbestoshead
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18378
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.8.0 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-11-25 11:04 CST
Last Modified:              2010-11-25 19:05 CST
====================================================================== 
Summary:                    [patch] Disable connected line updates for dahdi PRI
channel
Description: 
I need to prevent connected line updates from being sent to a PRI channel.

I'm having problems when a call from a PRI is answered by a SIP extension,
then transferred (blind or attended) to another SIP extension. One of my
PRI providers can't handle the ROSE_ETSI_EctInform APDU and drops the
call.

Looking through the chan_dahdi and sig_pri code, I don't see any
configuration flag to block the updates from going through. I would like to
add one.

Looking for guidance to add support to block these updates. I'm thinking I
could patch ast_channel_connected_line_macro() to check for a variable,
CONNECTED_LINE_CALLER_BLOCK or CONNECTED_LINE_CALLEE_BLOCK, and to prevent
the call to ast_channel_update_connected_line() if it is set to 1.

For completeness I'd also patch ast_channel_redirecting_macro() to check
for REDIRECTING_CALLER_BLOCK and REDIRECTING_CALLEE_BLOCK.

I'd then just have to add setvar=CONNECTED_LINE_CALLER_BLOCK=1 in my
chan_dahdi.conf, and for outbound calls to the PRI I may also have to
Set(CONNECTED_LINE_CALLEE_BLOCK=1) in the dialplan.
====================================================================== 

---------------------------------------------------------------------- 
 (0129151) asbestoshead (reporter) - 2010-11-25 19:05
 https://issues.asterisk.org/view.php?id=18378#c129151 
---------------------------------------------------------------------- 
Something like this? The problem is both ast_channel_connected_line_macro()
and ast_channel_redirecting_macro() have identical structure. It's hard to
refactor them because they use different names and data types on almost
every line.

Going up a level, most of the calls to *_macro() follow a pattern like:

if (*_macro() doesn't return 0) {
    /* some update code that's also in *_macro() */
}

It could all use a little rework but I don't have the resources to test
all callers and I'm afraid I don't know enough about what's going on for
many of them. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-11-25 19:05 asbestoshead   Note Added: 0129151                          
======================================================================




More information about the asterisk-bugs mailing list