[asterisk-commits] mvanbaak: branch 1.6.1 r158701 - in /branches/1.6.1: ./ channels/chan_skinny.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Nov 22 11:00:50 CST 2008
Author: mvanbaak
Date: Sat Nov 22 11:00:49 2008
New Revision: 158701
URL: http://svn.digium.com/view/asterisk?view=rev&rev=158701
Log:
Merged revisions 158694 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r158694 | mvanbaak | 2008-11-22 17:57:11 +0100 (Sat, 22 Nov 2008) | 8 lines
dont send reorder tone after a device is hungup if a dialout is abandoned or failed.
Without this reorder tone will play after hangup and both wedhorn's and my wife have threatened to use an axe on our asterisk box
(closes issue #13948)
Reported by: wedhorn
Patches:
switch.diff uploaded by wedhorn (license 30)
........
Modified:
branches/1.6.1/ (props changed)
branches/1.6.1/channels/chan_skinny.c
Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.1/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.1/channels/chan_skinny.c?view=diff&rev=158701&r1=158700&r2=158701
==============================================================================
--- branches/1.6.1/channels/chan_skinny.c (original)
+++ branches/1.6.1/channels/chan_skinny.c Sat Nov 22 11:00:49 2008
@@ -3367,7 +3367,9 @@
} else if (res == 0) {
ast_debug(1, "Not enough digits (%s) (and no ambiguous match)...\n", d->exten);
memset(d->exten, 0, sizeof(d->exten));
- transmit_tone(d, SKINNY_REORDER, l->instance, sub->callid);
+ if (l->hookstate == SKINNY_OFFHOOK) {
+ transmit_tone(d, SKINNY_REORDER, l->instance, sub->callid);
+ }
if (sub->owner && sub->owner->_state != AST_STATE_UP) {
ast_indicate(c, -1);
ast_hangup(c);
@@ -3377,9 +3379,11 @@
((d->exten[0] != '*') || (!ast_strlen_zero(d->exten) > 2))) {
ast_log(LOG_WARNING, "Can't match [%s] from '%s' in context %s\n", d->exten, c->cid.cid_num ? c->cid.cid_num : "<Unknown Caller>", c->context);
memset(d->exten, 0, sizeof(d->exten));
- transmit_tone(d, SKINNY_REORDER, l->instance, sub->callid);
- /* hang out for 3 seconds to let congestion play */
- ast_safe_sleep(c, 3000);
+ if (l->hookstate == SKINNY_OFFHOOK) {
+ transmit_tone(d, SKINNY_REORDER, l->instance, sub->callid);
+ /* hang out for 3 seconds to let congestion play */
+ ast_safe_sleep(c, 3000);
+ }
break;
}
if (!timeout) {
@@ -3488,6 +3492,7 @@
transmit_closereceivechannel(d, sub);
transmit_stopmediatransmission(d, sub);
transmit_lamp_indication(d, STIMULUS_LINE, l->instance, SKINNY_LAMP_BLINK);
+ transmit_tone(d, SKINNY_SILENCE, l->instance, sub->callid);
} else { /* we are killing a background sub on the line with other subs*/
if (AST_LIST_NEXT(sub, list)) {
transmit_lamp_indication(d, STIMULUS_LINE, l->instance, SKINNY_LAMP_BLINK);
@@ -3507,6 +3512,7 @@
transmit_stopmediatransmission(d, sub);
transmit_speaker_mode(d, SKINNY_SPEAKEROFF);
transmit_ringer_mode(d, SKINNY_RING_OFF);
+ transmit_tone(d, SKINNY_SILENCE, l->instance, sub->callid);
/* we should check to see if we can start the ringer if another line is ringing */
}
}
@@ -4741,9 +4747,9 @@
if (sub && sub->outgoing) {
/* We're answering a ringing call */
ast_queue_control(sub->owner, AST_CONTROL_ANSWER);
+ transmit_callstate(d, l->instance, SKINNY_OFFHOOK, sub->callid);
+ transmit_tone(d, SKINNY_SILENCE, l->instance, sub->callid);
transmit_callstateonly(d, sub, SKINNY_CONNECTED);
- transmit_tone(d, SKINNY_SILENCE, l->instance, sub->callid);
- transmit_callstate(d, l->instance, SKINNY_CONNECTED, sub->callid);
transmit_selectsoftkeys(d, l->instance, sub->callid, KEYDEF_CONNECTED);
start_rtp(sub);
ast_setstate(sub->owner, AST_STATE_UP);
More information about the asterisk-commits
mailing list