diff options
Diffstat (limited to 'main/channel.c')
-rw-r--r-- | main/channel.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c index 8f4d37c8f..5275f9ec3 100644 --- a/main/channel.c +++ b/main/channel.c @@ -4347,6 +4347,7 @@ static int attribute_const is_visible_indication(enum ast_control_frame_type con case AST_CONTROL_MCID: break; + case AST_CONTROL_INCOMPLETE: case AST_CONTROL_CONGESTION: case AST_CONTROL_BUSY: case AST_CONTROL_RINGING: @@ -4503,6 +4504,7 @@ int ast_indicate_data(struct ast_channel *chan, int _condition, case AST_CONTROL_BUSY: ts = ast_get_indication_tone(chan->zone, "busy"); break; + case AST_CONTROL_INCOMPLETE: case AST_CONTROL_CONGESTION: ts = ast_get_indication_tone(chan->zone, "congestion"); break; @@ -5538,6 +5540,12 @@ struct ast_channel *__ast_request_and_dial(const char *type, struct ast_format_c timeout = 0; break; + case AST_CONTROL_INCOMPLETE: + ast_cdr_failed(chan->cdr); + *outstate = AST_CONTROL_CONGESTION; + timeout = 0; + break; + case AST_CONTROL_CONGESTION: ast_cdr_failed(chan->cdr); *outstate = f->subclass.integer; |