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

Asterisk Bug Tracker noreply at bugs.digium.com
Sun Oct 12 18:21:23 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=8824 
====================================================================== 
Reported By:                gareth
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   8824
Category:                   Channels/NewFeature
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.0-beta9 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 59043 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             2007-01-15 18:18 CST
Last Modified:              2008-10-12 18:20 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
related to          0012511 transfer number of caller to callee whe...
related to          0012357 [patch] add called/connected/busy name ...
====================================================================== 

---------------------------------------------------------------------- 
 (0093526) Ulmo (reporter) - 2008-10-12 18:20
 http://bugs.digium.com/view.php?id=8824#c93526 
---------------------------------------------------------------------- 
Getting repeatable segmentation faults attempting to use CalledID
patch 1.6.0-beta7.1.patch in Asterisk 1.6.0 (three patch rejects
applied by hand in obvious ways): SIP channel won't even come up when
I dial test extension.

Recommended debug levels would be appreciated; I only had "core set
verbose 10",
which showed nothing between when I submitted the number in Twinkle and
when
Asterisk segfaulted (not even a little comment).  Then, I added "sip set
debug
on", and that shows:

$ asterisk -r
Asterisk 1.6.0, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster at digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for
details.
This is free software, with components licensed under the GNU General
Public
License version 2 and other licenses; you are welcome to redistribute it
under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.6.0 currently running on C (pid = 14393)
C*CLI> core set verbose 10
Verbosity was 0 and is now 10
C*CLI> sip set debug on
SIP Debugging enabled
C*CLI>
<--- SIP read from UDP://10.0.0.1:5061 --->
INVITE sip:83 at 10.0.0.1 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5061;rport;branch=z9hG4bKaovtsfmp
Max-Forwards: 70
To: <sip:83 at 10.0.0.1>
From: "My Personal Name"
<sip:localuserexample-twinkle at 10.0.0.1>;tag=rnzqh
Call-ID: gnguuoybrzadyyq at LOCAL.DOMAIN.NAME
CSeq: 791 INVITE
Contact: <sip:localuserexample-twinkle at 10.0.0.1:5061>
Content-Type: application/sdp
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.3.2
Content-Length: 227

v=0
o=twinkle 998115872 281312760 IN IP4 10.0.0.1
s=-
c=IN IP4 10.0.0.1
t=0 0
m=audio 8000 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20

<------------->
--- (13 headers 11 lines) ---
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP VRTP TOS bits 136
  == Using SIP VRTP CoS mark 6
Sending to 10.0.0.1 : 5061 (NAT)
Using INVITE request as basis request - gnguuoybrzadyyq at LOCAL.DOMAIN.NAME
Found user 'localuserexample-twinkle' for 'localuserexample-twinkle'

<--- Reliably Transmitting (no NAT) to 10.0.0.1:5061 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP
10.0.0.1:5061;branch=z9hG4bKaovtsfmp;received=10.0.0.1;rport=5061
From: "My Personal Name"
<sip:localuserexample-twinkle at 10.0.0.1>;tag=rnzqh
To: <sip:83 at 10.0.0.1>;tag=as11b7c6a8
Call-ID: gnguuoybrzadyyq at LOCAL.DOMAIN.NAME
CSeq: 791 INVITE
User-Agent: Asterisk PBX 1.6.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
nonce="2cc26fa5"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog 'gnguuoybrzadyyq at LOCAL.DOMAIN.NAME'
in 32000 ms (Method: INVITE)
C*CLI>
<--- SIP read from UDP://10.0.0.1:5061 --->
ACK sip:83 at 10.0.0.1 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5061;rport;branch=z9hG4bKaovtsfmp
Max-Forwards: 70
To: <sip:83 at 10.0.0.1>;tag=as11b7c6a8
From: "My Personal Name"
<sip:localuserexample-twinkle at 10.0.0.1>;tag=rnzqh
Call-ID: gnguuoybrzadyyq at LOCAL.DOMAIN.NAME
CSeq: 791 ACK
User-Agent: Twinkle/1.3.2
Content-Length: 0


<------------->
--- (9 headers 0 lines) ---

Disconnected from Asterisk server
----------------------------------------------------------
The "Disconnected from Asterisk server" is Segmentation Fault (SEGFAULT)
of the Asterisk server. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-10-12 18:20 Ulmo           Note Added: 0093526                          
======================================================================




More information about the asterisk-bugs mailing list