diff options
Diffstat (limited to 'channels/chan_phone.c')
-rw-r--r-- | channels/chan_phone.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/channels/chan_phone.c b/channels/chan_phone.c index 233e5e829..48b26c160 100644 --- a/channels/chan_phone.c +++ b/channels/chan_phone.c @@ -206,21 +206,24 @@ static int phone_indicate(struct ast_channel *chan, int condition, const void *d int res=-1; ast_debug(1, "Requested indication %d on channel %s\n", condition, chan->name); switch(condition) { - case AST_CONTROL_FLASH: - ioctl(p->fd, IXJCTL_PSTN_SET_STATE, PSTN_ON_HOOK); - usleep(320000); - ioctl(p->fd, IXJCTL_PSTN_SET_STATE, PSTN_OFF_HOOK); + case AST_CONTROL_FLASH: + ioctl(p->fd, IXJCTL_PSTN_SET_STATE, PSTN_ON_HOOK); + usleep(320000); + ioctl(p->fd, IXJCTL_PSTN_SET_STATE, PSTN_OFF_HOOK); p->lastformat = -1; res = 0; break; - case AST_CONTROL_HOLD: - ast_moh_start(chan, data, NULL); - break; - case AST_CONTROL_UNHOLD: - ast_moh_stop(chan); - break; - default: - ast_log(LOG_WARNING, "Condition %d is not supported on channel %s\n", condition, chan->name); + case AST_CONTROL_HOLD: + ast_moh_start(chan, data, NULL); + break; + case AST_CONTROL_UNHOLD: + ast_moh_stop(chan); + break; + case AST_CONTROL_SRCUPDATE: + res = 0; + break; + default: + ast_log(LOG_WARNING, "Condition %d is not supported on channel %s\n", condition, chan->name); } return res; } |