[Asterisk-Dev] Having to hack old (pre-1.0) version of Asterisk

Steven Critchfield critch at basesys.com
Tue Jan 10 14:46:34 MST 2006


On Tue, 2006-01-10 at 17:54 -0200, Juan Carlos Castro y Castro wrote:
> And before you ask -- no, upgrading to 1.2 is NOT an option. Not in this 
> installation. Nonetheless, I'd like to know if this is still an issue in 
> 1.2 or svn.
> 
> What happens is that DTMFs get ignored by Asterisk during a IAX-to-IAX 
> call, so transfer doesn't work. The IAX user agent we have doesn't have 
> a "transfer" option that sends a AST_FRAME_IAX/IAX_COMMAND_TRANSFER 
> frame (THAT works without a problem even in that particular senile 
> installation I have to maintain -- I tested with Kiax).
> 
> I've been exploring a way to make DTMFs force an exit from the bridging, 
> so far without success. Any suggestions as to what should I hack? I did 
> come up with a horrible, horrible solution, which is hacking 
> socket_read() in chan_iax2.c  (only code I found that acknowledges the 
> arrival of DTMF frames -- I found that out via "iax2 debug") so it 
> manages the incoming DTMFs, timeouts etc. and when a constructed 
> extension is finished (in a new member of the channel structure), acts 
> like it already does upon receipt of an 
> AST_FRAME_IAX/IAX_COMMAND_TRANSFER frame -- an ast_async_goto().
> 
> Surely, there MUST be a better way.

Beyond the you must upgrade, here is something we noticed with older
versions of asterisk when one side of the call was silent for certain
periods, the other side no longer did anything really. 

You should know that there has been a lot of bug fixes and feature adds.
Unless you have custom code inside of asterisk, an upgrade shouldn't be
too bad. Test first and don't get so far behind next time.
-- 
Steven Critchfield <critch at basesys.com>




More information about the asterisk-dev mailing list