aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-15 20:56:19 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-15 20:56:19 +0000
commitfff3116e4c658b66bdbd7cc5939c8c89abef9fea (patch)
tree78e569ff07d3c967b08f39e188f8a10c8d109380
parent8c532dc217faba292d1ba83c4380f65aa10aa631 (diff)
issue #5672
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7106 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xChangeLog2
-rwxr-xr-xchannels/chan_alsa.c10
-rwxr-xr-xchannels/chan_oss_old.c1
3 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index da22209eb..bfa067675 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2005-11-15 Kevin P. Fleming <kpfleming@limerick.digium.com>
+ * channels/chan_alsa.c (alsa_hangup): handle autohangup properly (issue #5672)
+
* channels/chan_misdn.c (and other files): various fixes (issue #5739)
* channels/chan_sip.c (handle_request_info): properly forward 'flash' events received via SIP INFO (issue #5751, different patch)
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;