diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-15 20:56:19 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-15 20:56:19 +0000 |
commit | fff3116e4c658b66bdbd7cc5939c8c89abef9fea (patch) | |
tree | 78e569ff07d3c967b08f39e188f8a10c8d109380 /channels | |
parent | 8c532dc217faba292d1ba83c4380f65aa10aa631 (diff) |
issue #5672
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7106 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_alsa.c | 10 | ||||
-rwxr-xr-x | channels/chan_oss_old.c | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c index 961abef54..9bef8f3c7 100755 --- a/channels/chan_alsa.c +++ b/channels/chan_alsa.c @@ -582,8 +582,14 @@ static int alsa_hangup(struct ast_channel *c) usecnt--; ast_mutex_unlock(&usecnt_lock); if (hookstate) { - res = 2; - write(sndcmd[1], &res, sizeof(res)); + if (autoanswer) { + hookstate = 0; + } else { + /* Congestion noise */ + res = 2; + write(sndcmd[1], &res, sizeof(res)); + hookstate = 0; + } } snd_pcm_drop(alsa.icard); ast_mutex_unlock(&alsalock); diff --git a/channels/chan_oss_old.c b/channels/chan_oss_old.c index 1450703b4..c1613d3b6 100755 --- a/channels/chan_oss_old.c +++ b/channels/chan_oss_old.c @@ -565,6 +565,7 @@ static int oss_hangup(struct ast_channel *c) /* Make congestion noise */ res = 2; write(sndcmd[1], &res, sizeof(res)); + hookstate = 0; } } return 0; |