[asterisk-bugs] [Asterisk 0014514]: [patch] SIP Forking Feature

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Mar 24 08:58:36 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14514 
====================================================================== 
Reported By:                Shivaprakash
Assigned To:                russell
====================================================================== 
Project:                    Asterisk
Issue ID:                   14514
Category:                   Channels/chan_sip/NewFeature
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.0.5 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!): 177657 
Request Review:              
====================================================================== 
Date Submitted:             2009-02-20 00:32 CST
Last Modified:              2009-03-24 08:58 CDT
====================================================================== 
Summary:                    [patch] SIP Forking Feature
Description: 
This feature enables a user to register from multiple locations and there
by allows forking of a SIP call.

Registration entries are maintained as a list in peers.
Registration refreshes of the same user are checked and updated
accordingly. New registrations of the same user from different location
will be added as a list in sip_peer structure.

An outgoing call is checked against the number of peers registered from
peer list and the invite is forked to all the location from where the user
is registered. Only the fisrst successful 2xx will establish a call, and
other forked calls will be terminated.
====================================================================== 

---------------------------------------------------------------------- 
 (0102125) Shivaprakash (reporter) - 2009-03-24 08:58
 http://bugs.digium.com/view.php?id=14514#c102125 
---------------------------------------------------------------------- 
I am exploring the option of implementing forking from PBX layer and found
two approaches. One was to use custom functions and the other to use hints.
In both the cases we thought of getting a string containing peers using
custom functions or hints callbacks
("SIP/1000#01&SIP/1000#02&SIP/1000#03"). Here
http://bugs.digium.com/view.php?id=1, http://bugs.digium.com/view.php?id=2 and
http://bugs.digium.com/view.php?id=3 are the
indexes of peer entries in the peer table list. This string will be passed
to the application where the state handling will be done there. 

Although the PBX creates separate channels for forking, in the chan_sip.c
we should still map the above peer names (SIP/1000#01) to the correct entry
in the peer table and then proceed. So chan_sip is not completely unaware
about forking.
oej: is this approach the correct way to proceed? 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-03-24 08:58 Shivaprakash   Note Added: 0102125                          
======================================================================




More information about the asterisk-bugs mailing list