diff --git a/res/res_fax.c b/res/res_fax.c index 315f0003b8ebae58f3fb5ecc541ffea673e424cf..f03fdc912a78853ab0ade89af786ce16e20b6ccb 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -2914,6 +2914,11 @@ static int fax_gateway_start(struct fax_gateway *gateway, struct ast_fax_session struct ast_fax_session *s; int start_res; + /* if the fax gateway is already started then do nothing */ + if (gateway->s && gateway->s->state != AST_FAX_STATE_RESERVED) { + return 0; + } + /* create the FAX session */ if (!(s = fax_session_new(details, chan, gateway->s, gateway->token))) { gateway->token = NULL;