[asterisk-dev] sig_ss7 softhangup

Kaloyan Kovachev kkovachev at varna.net
Wed Mar 7 06:02:49 CST 2012


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.

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?

P.S.
 The comment for 358307 says "Made SS7 hangup a call immediately", but
_immedeatly_ will be if ast_softhangup_nolock is called actually.




More information about the asterisk-dev mailing list