]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
It is possible for the gateway to be attached when the channel is still
authorMatthew Nicholson <mnicholson@digium.com>
Mon, 29 Aug 2011 18:22:58 +0000 (18:22 +0000)
committerMatthew Nicholson <mnicholson@digium.com>
Mon, 29 Aug 2011 18:22:58 +0000 (18:22 +0000)
negotiating T.38. This change handles that case.

ASTERISK-18329

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@333716 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_fax_spandsp.c

index 296dd07a630f5932bfaf798f17aa0a1ca62efa92..81711bb40c2f89d100ecf77cb9d97387a7ec346d 100644 (file)
@@ -683,6 +683,13 @@ static int spandsp_fax_gateway_start(struct ast_fax_session *s) {
                ast_channel_unlock(s->chan);
                return -1;
        }
+
+       /* we can be in T38_STATE_NEGOTIATING or T38_STATE_NEGOTIATED when the
+        * gateway is started. We treat both states the same. */
+       if (p->ast_t38_state == T38_STATE_NEGOTIATING) {
+               p->ast_t38_state = T38_STATE_NEGOTIATED;
+       }
+
        ast_activate_generator(p->ast_t38_state == T38_STATE_NEGOTIATED ? peer : s->chan, &t30_gen , s);
 
        set_logging(&p->t38_gw_state.logging, s->details);