diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-16 12:53:51 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-16 12:53:51 +0000 |
commit | ee018911d6075618ea534460031502345412276d (patch) | |
tree | 22721d2546227b6e696878b732193a7bbb310f7b /apps | |
parent | aac343926cad19978be52926be5a07473fce3241 (diff) |
Merged revisions 230343 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r230343 | kpfleming | 2009-11-16 06:51:59 -0600 (Mon, 16 Nov 2009) | 2 lines
Ensure that only one end of a T.38 session initiates teardown at completion.
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@230346 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_fax.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/app_fax.c b/apps/app_fax.c index 17c75cf6b..5e70d8317 100644 --- a/apps/app_fax.c +++ b/apps/app_fax.c @@ -705,7 +705,11 @@ static int transmit_t38(fax_session *s) t38_terminal_release(&t38); disable_t38: - if (ast_channel_get_t38_state(s->chan) == T38_STATE_NEGOTIATED) { + /* if we are not the caller, it's our job to shut down the T.38 + * session when the FAX transmisson is complete. + */ + if ((s->caller_mode == FALSE) && + (ast_channel_get_t38_state(s->chan) == T38_STATE_NEGOTIATED)) { if (ast_indicate_data(s->chan, AST_CONTROL_T38_PARAMETERS, &t38_parameters, sizeof(t38_parameters)) == 0) { /* wait up to five seconds for negotiation to complete */ unsigned int timeout = 5000; |