diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-06 00:22:20 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-06 00:22:20 +0000 |
commit | 75d8cbb5511c40341ac442a3a8e57f6d811c7ab8 (patch) | |
tree | 2bc9241e535f22e7c7ae3deb2fddd2f0b1c30d83 /channels/chan_phone.c | |
parent | 302e0dc67407eb3e2dc0c8e4f95544a4dba32137 (diff) |
Merged revisions 106239 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r106239 | file | 2008-03-05 16:43:22 -0600 (Wed, 05 Mar 2008) | 12 lines
Merged revisions 106235 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines
Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148)
Reported by: jcomellas
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@106318 f38db490-d61c-443f-a65b-d21fe96a405b
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; } |