[asterisk-bugs] [Asterisk 0010297]: [patch] Unload/load support for chan_skinny

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Nov 22 16:59:23 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10297 
====================================================================== 
Reported By:                DEA
Assigned To:                qwell
====================================================================== 
Project:                    Asterisk
Issue ID:                   10297
Category:                   Channels/chan_skinny/NewFeature
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.0-beta8 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 76940 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2007-07-25 01:40 CDT
Last Modified:              2008-11-22 16:59 CST
====================================================================== 
Summary:                    [patch] Unload/load support for chan_skinny
Description: 
Reload is not working, but unload and load do work.
My reload code is ugly-simple, it calls the unload 
function, then the load function.  I would have thought
if I could manually unload and load that would be enough.


My threading knowledge is more than a bit weak, but the
existing code was 90% there already.  We needed to store
the address of the skinny_session thread launch from within
accept_thread so we could later cancel it.

Interestingly the skinnysession structure had a member to
store the thread address, but it did not appear to be used.

I also move the teardown of the accept thread to a point before
tearing down the sessions (and their threads) to prevent a phone
from trying to re-register and recreating a session thread after
we had processed it.


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0013524 [patch] Fixes skinny unload
====================================================================== 

---------------------------------------------------------------------- 
 (0095330) wedhorn (reporter) - 2008-11-22 16:59
 http://bugs.digium.com/view.php?id=10297#c95330 
---------------------------------------------------------------------- 
Been having a play with the latest patch. DEA, the code at the beginning of
config_line and config_device you removed were added for mvanbaak's
realtime stuff he's working on. Simple enough to add back
(skinny-reload-trunkv2.diff).

I think we need to decide how were going to handle the device resets.
DEA's patch sends a soft reset to the device which basically removes
chan_skinny from the loop. How should we handle background calls (such as
ones on hold)?

Ideally, I think we should not reset the device until there are no subs
under any of the lines attached to that device (which could take a while).
How about subsequent calls to the device, should we allow these or send a
DEVICE_NOT_CONNECTED until after the device is reset? Should we allow a
device that is set for pruning but has a call on hold, initiate a new
call?

At the moment the patch works. It happily handles single calls (via the
soft reset). I can't test much more than that because we need to work on
the sub handling before multiple calls work semi reliably on my old
devices. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-11-22 16:59 wedhorn        Note Added: 0095330                          
======================================================================




More information about the asterisk-bugs mailing list