|
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.
|