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

Juan Carlos Castro y Castro jcastro at instant.com.br
Tue Jan 10 12:54:27 MST 2006


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.



More information about the asterisk-dev mailing list