diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_sms.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/app_sms.c b/apps/app_sms.c index d32491a2d..0a20c8b23 100644 --- a/apps/app_sms.c +++ b/apps/app_sms.c @@ -1958,6 +1958,10 @@ static int sms_exec(struct ast_channel *chan, void *data) res = h.err; goto done; } + + if (chan->_state != AST_STATE_UP) { /* make sure channel is answered before any TX */ + ast_answer(chan); + } if (ast_test_flag(&flags, OPTION_ANSWER)) { h.framenumber = 1; /* Proto 2 */ @@ -1972,10 +1976,6 @@ static int sms_exec(struct ast_channel *chan, void *data) sms_messagetx(&h); } - if (chan->_state != AST_STATE_UP) { - ast_answer(chan); - } - res = ast_set_write_format(chan, __OUT_FMT); if (res >= 0) { res = ast_set_read_format(chan, AST_FORMAT_SLINEAR); |