[asterisk-dev] sig_ss7 softhangup

Kaloyan Kovachev kkovachev at varna.net
Wed Mar 7 09:53:35 CST 2012


On Wed, 07 Mar 2012 14:02:49 +0200, Kaloyan Kovachev <kkovachev at varna.net>
wrote:
> Hi,
>  Revision 357721 have changed sig_ss7 and
>    	linkset->pvts[i]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
> became
> 	ast_channel_softhangup_internal_flag_add(linkset->pvts[i]->owner,
> AST_SOFTHANGUP_DEV);
> 
> later in Revision 358307 again
ast_channel_softhangup_internal_flag_add()
> is called, but in Asterisk 10 the same change uses:
> 	chan->_softhangup |= AST_SOFTHANGUP_DEV;
> while the rest of the code in sig_ss7 uses:
> 	ast_softhangup_nolock(p->owner, AST_SOFTHANGUP_DEV);
> 
> the result is that we have many ways of doing almost the same and (the
> problem for me actualy) the patch from review 1676 is just no longer
> compatible between Asterisk 10 and trunk. It would be good to have the
> patch compatible until the code is submitted in order to have it
available
> for testing from more users.

Unfortunately this is not the only change that makes them incompatible -
ast_channel_hangupcause_set() is also missing from Asterisk 10 and probably
there will be other changes, so will have to make separate patch for
Asterisk 10.

> 
> Is there a reason not to use ast_softhangup_nolock() in all places,
which
> in addition queues a frame to the channel and interrupts any blockers?
> 

The question still remains. Should i keep/use
ast_channel_softhangup_internal_flag_add() in the patch, because of some
reason or ast_softhangup_nolock() is OK?

> P.S.
>  The comment for 358307 says "Made SS7 hangup a call immediately", but
> _immedeatly_ will be if ast_softhangup_nolock is called actually.
> 
> 
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev



More information about the asterisk-dev mailing list