[asterisk-commits] russell: trunk r129006 - /trunk/apps/app_fax.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Jul 8 09:17:37 CDT 2008


Author: russell
Date: Tue Jul  8 09:17:37 2008
New Revision: 129006

URL: http://svn.digium.com/view/asterisk?view=rev&rev=129006
Log:
Update app_fax for better compatibility with spandsp 0.0.5.  Add a call to
t38_terminal_release, and make sure that the phase E handler gets called
with proper status.

(closes issue #13020)
Reported by: dimas
Patches:
      v1-appfax.patch uploaded by dimas (license 88)

Modified:
    trunk/apps/app_fax.c

Modified: trunk/apps/app_fax.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_fax.c?view=diff&rev=129006&r1=129005&r2=129006
==============================================================================
--- trunk/apps/app_fax.c (original)
+++ trunk/apps/app_fax.c Tue Jul  8 09:17:37 2008
@@ -448,9 +448,12 @@
 
 	ast_deactivate_generator(s->chan);
 
-	/* Remove phase E handler because we do not want it to be executed
-	   only because we called t30_terminate */
-	t30_set_phase_e_handler(&fax.t30_state, NULL, NULL);
+	/* If we are switching to T38, remove phase E handler. Otherwise it will be executed
+	   by t30_terminate, display diagnostics and set status variables although no transmittion
+	   has taken place yet. */
+	if (res > 0) {
+		t30_set_phase_e_handler(&fax.t30_state, NULL, NULL);
+	}
 
 	t30_terminate(&fax.t30_state);
 	fax_release(&fax);
@@ -557,11 +560,8 @@
 	if (inf)
 		ast_frfree(inf);
 
-	/* Remove phase E handler because we do not want it to be executed
-	   only because we called t30_terminate */
-	t30_set_phase_e_handler(&t38.t30_state, NULL, NULL);
-
 	t30_terminate(&t38.t30_state);
+	t38_terminal_release(&t38);
 
 	return res;
 }




More information about the asterisk-commits mailing list