Fix another buglet in T.38 session teardown at the end of FAX sessions.
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 16 Nov 2009 16:40:25 +0000 (16:40 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 16 Nov 2009 16:40:25 +0000 (16:40 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230381 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_fax.c

index 6a33fe7..dab02af 100644 (file)
@@ -598,7 +598,6 @@ static int transmit_t38(fax_session *s)
        struct timeval now, start, state_change, last_frame;
        t30_state_t *t30state;
        t38_core_state_t *t38state;
-       struct ast_control_t38_parameters t38_parameters = { .request_response = AST_T38_REQUEST_TERMINATE, };
 
 #if SPANDSP_RELEASE_DATE >= 20080725
        /* for spandsp shaphots 0.0.6 and higher */
@@ -711,6 +710,8 @@ disable_t38:
         */
        if ((s->caller_mode == FALSE) &&
            (ast_channel_get_t38_state(s->chan) == T38_STATE_NEGOTIATED)) {
+               struct ast_control_t38_parameters t38_parameters = { .request_response = AST_T38_REQUEST_TERMINATE, };
+
                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;
@@ -742,7 +743,7 @@ disable_t38:
                                        struct ast_control_t38_parameters *parameters = inf->data.ptr;
                                        
                                        switch (parameters->request_response) {
-                                       case AST_T38_NEGOTIATED:
+                                       case AST_T38_TERMINATED:
                                                ast_debug(1, "Shut down T.38 on %s\n", s->chan->name);
                                                break;
                                        case AST_T38_REFUSED: