From: <do...@us...> - 2008-01-09 07:59:35
|
Revision: 1329 http://iaxclient.svn.sourceforge.net/iaxclient/?rev=1329&view=rev Author: dohpaz Date: 2008-01-08 23:59:40 -0800 (Tue, 08 Jan 2008) Log Message: ----------- Only call complete_transfer once in per code path in iax_handle_txready(). Make sure to clear transfer_moh if iax_unquelch is called. Modified Paths: -------------- branches/team/elbunce/iaxclient/lib/libiax2/src/iax.c Modified: branches/team/elbunce/iaxclient/lib/libiax2/src/iax.c =================================================================== --- branches/team/elbunce/iaxclient/lib/libiax2/src/iax.c 2008-01-08 23:01:12 UTC (rev 1328) +++ branches/team/elbunce/iaxclient/lib/libiax2/src/iax.c 2008-01-09 07:59:40 UTC (rev 1329) @@ -1504,12 +1504,9 @@ short s0_org_peer, s1_org_peer; if (s->transfer_moh) { - s->transfer_moh = 0; iax_unquelch(s); } - complete_transfer(s, s->peercallno, 0, 1); - s->transferring = TRANSFER_REL; s0 = s; @@ -1527,6 +1524,9 @@ iax_finish_transfer(s1, s0_org_peer); return 1; } + else { + complete_transfer(s, s->peercallno, 0, 1); + } return 0; } @@ -2052,6 +2052,10 @@ int iax_unquelch(struct iax_session *session) { + if (session->transfer_moh) { + session->transfer_moh = 0; + } + return send_command(session, AST_FRAME_IAX, IAX_COMMAND_UNQUELCH, 0, NULL, 0, -1); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |