[asterisk-commits] wedhorn: trunk r281257 - /trunk/channels/chan_skinny.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Aug 7 17:36:14 CDT 2010
Author: wedhorn
Date: Sat Aug 7 17:36:08 2010
New Revision: 281257
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=281257
Log:
Fix up handling and indications during transfer.
Cleaned up handling of onhook indications and added indications if more than one sub on device. Also fixes issue in 12324 so that the phone can call itself without locking up.
(closes issue #17692)
Reported by: jmhunter
Patches:
chan_skinny-transfer-v4.txt uploaded by DEA (license 3)
skinnytransfver.v8.diff uploaded by wedhorn (license 30)
Tested by: jmhunter, salecha, wedhorn
Review: NA
Modified:
trunk/channels/chan_skinny.c
Modified: trunk/channels/chan_skinny.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_skinny.c?view=diff&rev=281257&r1=281256&r2=281257
==============================================================================
--- trunk/channels/chan_skinny.c (original)
+++ trunk/channels/chan_skinny.c Sat Aug 7 17:36:08 2010
@@ -4075,12 +4075,15 @@
l->activesub = AST_LIST_FIRST(&l->sub);
}
}
- //transmit_callstate(d, l->instance, SKINNY_ONHOOK, sub->callid);
- transmit_activatecallplane(d, l);
+ if (l->activesub) {
+ transmit_selectsoftkeys(d, 0, 0, KEYDEF_ONHOLD);
+ }
transmit_closereceivechannel(d, sub);
transmit_stopmediatransmission(d, sub);
transmit_lamp_indication(d, STIMULUS_LINE, l->instance, SKINNY_LAMP_BLINK);
transmit_stop_tone(d, l->instance, sub->callid);
+ transmit_callstate(d, l->instance, sub->callid, SKINNY_ONHOOK);
+ transmit_activatecallplane(d, l);
} else { /* we are killing a background sub on the line with other subs*/
ast_verb(4,"Killing inactive sub %d\n", sub->callid);
if (AST_LIST_NEXT(sub, list)) {
@@ -4088,6 +4091,8 @@
} else {
transmit_lamp_indication(d, STIMULUS_LINE, l->instance, SKINNY_LAMP_ON);
}
+ transmit_callstate(d, l->instance, sub->callid, SKINNY_ONHOOK);
+ transmit_activatecallplane(d, l);
}
} else { /* no more subs on line so make idle */
ast_verb(4,"Killing only sub %d\n", sub->callid);
@@ -4790,7 +4795,7 @@
sub->related = newsub;
newsub->xferor = 1;
l->activesub = newsub;
- transmit_callstate(d, l->instance, sub->callid, SKINNY_OFFHOOK);
+ transmit_callstate(d, l->instance, newsub->callid, SKINNY_OFFHOOK);
transmit_activatecallplane(d, l);
transmit_clear_display_message(d, l->instance, newsub->callid);
transmit_start_tone(d, SKINNY_DIALTONE, l->instance, newsub->callid);
More information about the asterisk-commits
mailing list