[asterisk-bugs] [LibPRI 0015604]: [patch] Support for called_party_subaddr, currently only calling_party_subaddr is supported

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Sep 28 14:58:20 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15604 
====================================================================== 
Reported By:                alecdavis
Assigned To:                rmudgett
====================================================================== 
Project:                    LibPRI
Issue ID:                   15604
Category:                   NewFeature
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
JIRA:                        
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2009-07-28 21:51 CDT
Last Modified:              2009-09-28 14:58 CDT
====================================================================== 
Summary:                    [patch] Support for called_party_subaddr, currently
only calling_party_subaddr is supported
Description: 
Looking at q931.c it only has dump_called_party_subaddr
it's missing receive_called_party_subaddr, transmit_called_party_subaddr,
and associated pri_call changes. Maybe more...

The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing
"desk to desk" between offices each with an asterisk box over the ISDN
should then be possible, without a whole load of DDI numbers required.

Is there any work beinging done for this?


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0001877 Useful enhancement to chan_zap would be...
====================================================================== 

---------------------------------------------------------------------- 
 (0111468) rmudgett (administrator) - 2009-09-28 14:58
 https://issues.asterisk.org/view.php?id=15604#c111468 
---------------------------------------------------------------------- 
asterisk_subaddr_trunk.diff2.txt:
Looks good other than the following:
In channel.c:
*  free_cid() also needs to call ast_party_subaddress_free() for
cid->dnid_subaddress.
*  ast_party_connected_line_collect_caller() is a shallow copy that does
not allocate any memory so you cannot call ast_party_subaddress_copy()
here.  You just need to do a structure assignment here instead:
connected->id.subaddress = cid->subaddress.
* ast_connected_line_build_data(), ast_connected_line_parse_data(),
ast_redirecting_build_data(), and ast_redirecting_parse_data() need to be
updated for the new subaddress elements.  These functions are needed for
AST_CONTROL_CONNECTED_LINE and AST_CONTROL_REDIRECTING.

For CALLERID(subaddr) information to be updated it needs to be populated
by chan_dahdi.c/sig_pri.c.  You could examine how the other caller id
information is put into the channel structure.  That round about method is
historical and probably should be bypassed for the subaddress information;
unless you want dahdi show channel to be able to display subaddress
information.

libpri_subaddr_trunk.diff2.txt:
Looks good other than the following:
*  You need to account for all fields in the q931_party_subaddress
structure.  Also the q931_party_subaddress.data field is not an ASCIIZ
string.  It is potentially BCD data.
*  A helper function in pri.c: pri_copy_party_subaddress_to_q931 is useful
for pri_sr_set_calling_subaddress() and pri_sr_set_called_subaddress() and
further/future subaddress enhancements for pri_connected_line_update() and
pri_redirecting_update().
* A series of q931_party_subaddress_xxx() needs to be created similar to
the q931_party_number_xxx() series.
* Changes need to be added to q931_party_id_xxx() to reflect that the
structure now contains a subaddress element and should call the appropriate
q931_party_subaddress_xxx().
*  The change to q931_setup() is redundant and not needed.  That
information has already been copied earlier.
*  In post_handle_q931_message():Q931_SETUP and Q931_INFORMATION,
ctrl->ev.ring.callingsubaddr still needs to be filled in for backward
compatibility. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-09-28 14:58 rmudgett       Note Added: 0111468                          
======================================================================




More information about the asterisk-bugs mailing list