summaryrefslogtreecommitdiff
path: root/channels/chan_skinny.c
diff options
context:
space:
mode:
authorJeremy McNamara <jj@nufone.net>2003-09-14 01:50:00 +0000
committerJeremy McNamara <jj@nufone.net>2003-09-14 01:50:00 +0000
commitc3174c0319c0dc78e0c309390357fd0a9066e62c (patch)
tree06311b5bdd820603e8ab3eebd710e74992d9a591 /channels/chan_skinny.c
parentc165196f718d0a2553ccc22677a50e700f68d177 (diff)
fix never ending ringing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_skinny.c')
-rwxr-xr-xchannels/chan_skinny.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 083a4a652..40621d58c 100755
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -1529,7 +1529,14 @@ static int skinny_hangup(struct ast_channel *ast)
sub->parent->hookstate = SKINNY_ONHOOK;
transmit_callstate(s, l->instance, SKINNY_ONHOOK, sub->callid);
transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
- }
+ } else if ((sub->parent->type = TYPE_LINE) && (sub->parent->hookstate == SKINNY_ONHOOK)) {
+ transmit_callstate(s, l->instance, SKINNY_ONHOOK, sub->callid);
+ transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
+ transmit_ringer_mode(s, SKINNY_RING_OFF);
+ transmit_tone(s, SKINNY_SILENCE);
+ }
+
+
ast_mutex_lock(&sub->lock);
sub->owner = NULL;
ast->pvt->pvt = NULL;