diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-08 14:18:05 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-08 14:18:05 +0000 |
commit | c794c0b5953f01516746fbcac54b86d86d0d26d6 (patch) | |
tree | c436606e8e6cfe23a378ea09080614e6dee435cc /apps | |
parent | cb528b8b6161ce70cb7c3964c09373d1a9499f51 (diff) |
Merged revisions 129006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r129006 | russell | 2008-07-08 09:17:37 -0500 (Tue, 08 Jul 2008) | 9 lines
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)
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@129007 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_fax.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/apps/app_fax.c b/apps/app_fax.c index a670ccad4..6d98755cc 100644 --- a/apps/app_fax.c +++ b/apps/app_fax.c @@ -448,9 +448,12 @@ static int transmit_audio(fax_session *s) 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 @@ static int transmit_t38(fax_session *s) 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; } |