[asterisk-bugs] [Asterisk 0008824]: [patch] Remote (called) Party Identification - chan_sip & chan_skinny implementation

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Mar 31 08:04:53 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=8824 
====================================================================== 
Reported By:                gareth
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   8824
Category:                   Channels/NewFeature
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.6.0-beta4 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 59043 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             01-15-2007 18:18 CST
Last Modified:              03-31-2008 08:04 CDT
====================================================================== 
Summary:                    [patch] Remote (called) Party Identification -
chan_sip & chan_skinny implementation
Description: 
Overview:

This patch provides the ability to rewrite the called party information
on
channel types that support it.  Implementations for the SIP (see note
http://bugs.digium.com/view.php?id=1)
and Skinny (see note http://bugs.digium.com/view.php?id=2) channels have been
provided.

Current features are:

1. Make changes whilst the call is progessing though the dial plan, ie:

   exten => s,1,RemoteParty("Voicemail" <123>)
   exten => s,n,Answer()
   exten => s,n,VoiceMailMain()

2. When using call pickup it will rewrite the caller information showing
the caller that was picked up.

3. When unparking a call it will show the caller*id of the parked call.

The ability to rewrite the calling party identification on semi-attended
transfer is planned but doesn't work yet.

Implementation:

Transmission of the remote party data is done using indications with a
new
subtype of AST_CONTROL_REMOTEPARTY, format of the data is:

  "name" <number>|presentation

Any channel specific code is kept in it's _indicate() handler. Once the
channel driver has received the indication it uses the method specific to
it; in the case of SIP it sends a 180/183 response if possible and with
Skinny it uses transmit_callinfo().

Note http://bugs.digium.com/view.php?id=1: The SIP implemenation is only able to
update the remote party
before the call has been answered as there is no re-invite support yet.

Note http://bugs.digium.com/view.php?id=2: I don't have any Skinny phones so no
testing has been done on
that part. 
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0006643 [patch] Implement Called Party Identifi...
has duplicate       0008990 Transfer and Variables
related to          0011036 Crush at unknown place
====================================================================== 

---------------------------------------------------------------------- 
 fabled - 03-31-08 08:04  
---------------------------------------------------------------------- 
Ok, I got it working with my libpri/QSIG changes. I have a libpri+asterisk
patches  that enable calledname stuff (works at least with my Siemens
HiPath).

I have asterisk-1.6.0_beta4 + svn-104031.patch + my patches. I noticed two
bugs in the svn-104031.patch though:
1. It's missing the func_connectedline.c. I copied from 1.4.18.patch, and
it's working.
2. There some sort of bug in handling of IAX_RECV_CONNECTEDLINE flag.
Since I don't get the updates from IAX line unless I remove the flag checks
(and yes, I have connectedline=yes in my iax.conf). Traces show that the
connectedline update is sent via IAX but it's never parsed in the receiving
side, unless i #if 0 the flag test.

My setup is:
Siemens HiPath 1 <S0:ISO-QSIG> Asterix1 <IAX2> Asterisk2 <S0:ISO-QSIG>
Siemens HiPath 2

And calling from phone connected in HiPath1 to another extension under
HiPath2 I could get the caller and called names working properly both ways. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-31-08 08:04  fabled         Note Added: 0084776                          
======================================================================




More information about the asterisk-bugs mailing list