[asterisk-commits] qwell: branch 1.4 r75707 - /branches/1.4/channels/chan_skinny.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jul 18 14:48:13 CDT 2007


Author: qwell
Date: Wed Jul 18 14:48:12 2007
New Revision: 75707

URL: http://svn.digium.com/view/asterisk?view=rev&rev=75707
Log:
Fix issues with new 79x1 phones.

Issue 9887, patches by DEA

Modified:
    branches/1.4/channels/chan_skinny.c

Modified: branches/1.4/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_skinny.c?view=diff&rev=75707&r1=75706&r2=75707
==============================================================================
--- branches/1.4/channels/chan_skinny.c (original)
+++ branches/1.4/channels/chan_skinny.c Wed Jul 18 14:48:12 2007
@@ -605,10 +605,8 @@
 };
 
 static const uint8_t soft_key_default_ringout[] = {
+	SOFTKEY_NONE,
 	SOFTKEY_ENDCALL,
-	SOFTKEY_TRNSFER,
-	SOFTKEY_CFWDALL,
-	SOFTKEY_CFWDBUSY,
 };
 
 static const uint8_t soft_key_default_offhookwithfeat[] = {
@@ -3070,6 +3068,14 @@
 			ast_verbose("Received Stimulus: Redial(%d)\n", instance);
 
 #if 0
+ 		if (ast_strlen_zero(l->lastnumberdialed)) {
+ 			ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
+ 			l->hookstate = SKINNY_ONHOOK;
+ 			transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
+ 			transmit_callstate(s, l->instance, SKINNY_ONHOOK, instance);
+ 			break;
+ 		}
+
 		c = skinny_new(l, AST_STATE_DOWN);
 		if(!c) {
 			ast_log(LOG_WARNING, "Unable to create channel for %s@%s\n", l->name, d->name);
@@ -3080,11 +3086,8 @@
 				ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
 			transmit_displaymessage(s, NULL); /* clear display */
 			transmit_tone(s, SKINNY_DIALTONE);
-
-			if (ast_strlen_zero(l->lastnumberdialed)) {
-				ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
-				return 0;
-			}
+			transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
+
 			if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
 				transmit_tone(s, SKINNY_SILENCE);
 			}
@@ -3103,6 +3106,14 @@
 #if 0
 		if (!(sd = find_speeddial_by_instance(d, instance))) {
 			return 0;
+		}
+
+		if (ast_strlen_zero(l->lastnumberdialed)) {
+			ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
+			l->hookstate = SKINNY_ONHOOK;
+			transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
+			transmit_callstate(s, l->instance, SKINNY_ONHOOK, instance);
+			break;
 		}
 
 		c = skinny_new(l, AST_STATE_DOWN);
@@ -3114,6 +3125,7 @@
 				ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
 			transmit_displaymessage(s, NULL); /* clear display */
 			transmit_tone(s, SKINNY_DIALTONE);
+			transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
 
 			if (!ast_ignore_pattern(c->context, sd->exten)) {
 				transmit_tone(s, SKINNY_SILENCE);
@@ -3804,11 +3816,8 @@
 				ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
 			transmit_displaymessage(s, NULL); /* clear display */
 			transmit_tone(s, SKINNY_DIALTONE);
-
-			if (ast_strlen_zero(l->lastnumberdialed)) {
-				ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
-				break;
-			}
+			transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
+
 			if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
 				transmit_tone(s, SKINNY_SILENCE);
 			}




More information about the asterisk-commits mailing list