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

noreply at bugs.digium.com noreply at bugs.digium.com
Sun Aug 26 05:49:52 CDT 2007


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:                   Core/General
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     ready for testing
Asterisk Version:            SVN 
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:              08-26-2007 05:49 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
====================================================================== 

---------------------------------------------------------------------- 
 gareth - 08-26-07 05:49  
---------------------------------------------------------------------- 
This bug note will cover the dial-plan usage, a further note will explain
the
internal API changes.

I have had some difficultly with the current trunk builds (even before I
have
applied my patch) so there are two versions of this patch. One against
stable
(1.4.11) and the other against trunk (80894).

Hopefully this makes it easier for interest parties to verify the patch
while
till conforming to the bug submission guidelines.

Be aware, the code alters the caller ID passing mechanism in asterisk.
Some
channel drivers have not been patched to support this change. Currently
patched
are SIP, IAX2, Zap, Skinny, H323, Local and Phone.

For the most common case (dialing a registered peer) there is the new
Dial()
flag 'u' which automatically gets the caller ID information from the
dialed
channel and passes it to the calling channel. 

The CALLEDID() function replaces the RemoteParty() application, it can be
used
to name channels that otherwise have no set callerid such as trunks and
other
internal applications (VoiceMailMain, MeetMe etc.)

And one more thing...

Updating the caller/called ID on attended transfer now works for SIP
channels. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
08-26-07 05:49  gareth         Note Added: 0069437                          
======================================================================




More information about the asterisk-bugs mailing list