[asterisk-commits] wedhorn: trunk r283287 - /trunk/channels/chan_skinny.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Aug 23 15:23:56 CDT 2010


Author: wedhorn
Date: Mon Aug 23 15:23:51 2010
New Revision: 283287

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=283287
Log:
Fixes display issues on 7910 and older phones.

Also correct the callinfo provided in skinny_answer.

(closes issue #17876)
Reported by: salecha
Patches:
      skinny_cnd3.diff uploaded by wedhorn (license 30)
Tested by: 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=283287&r1=283286&r2=283287
==============================================================================
--- trunk/channels/chan_skinny.c (original)
+++ trunk/channels/chan_skinny.c Mon Aug 23 15:23:51 2010
@@ -4164,9 +4164,11 @@
 	   for some reason, transmit_callinfo must be before transmit_callstate,
 	   or you won't get keypad messages in some situations. */
 	transmit_callinfo(d,
-		S_COR(ast->connected.id.name.valid, ast->connected.id.name.str, ""),
-		S_COR(ast->connected.id.number.valid, ast->connected.id.number.str, ""),
-		l->lastnumberdialed, l->lastnumberdialed, l->instance, sub->callid, 2);
+		S_COR(ast->caller.id.name.valid, ast->caller.id.name.str, ""),
+		S_COR(ast->caller.id.number.valid, ast->caller.id.number.str, ""),
+		l->lastnumberdialed,
+		l->lastnumberdialed, 
+		l->instance, sub->callid, 2);
 	transmit_callstate(d, sub->parent->instance, sub->callid, SKINNY_CONNECTED);
 	transmit_selectsoftkeys(d, l->instance, sub->callid, KEYDEF_CONNECTED);
 	transmit_dialednumber(d, l->lastnumberdialed, l->instance, sub->callid);
@@ -4707,7 +4709,6 @@
 	struct skinny_line *l = sub->parent;
 	struct skinny_device *d = l->device;
 
-	transmit_callstate(d, l->instance, sub->callid, SKINNY_OFFHOOK);
 	transmit_activatecallplane(d, l);
 	transmit_stop_tone(d, l->instance, sub->callid);
 	transmit_callstate(d, sub->parent->instance, sub->callid, SKINNY_CONNECTED);
@@ -5327,9 +5328,6 @@
 		sub = l->activesub;
 	}
 
-	/* Not ideal, but let's send updated time at onhook and offhook, as it clears the display */
-	transmit_definetimedate(d);
-	
 	transmit_ringer_mode(d, SKINNY_RING_OFF);
 	l->hookstate = SKINNY_OFFHOOK;
 
@@ -5345,6 +5343,9 @@
 		/* We're answering a ringing call */
 		setsubstate_connected(sub);
 	} else {
+		/* Not ideal, but let's send updated time at onhook and offhook, as it clears the display */
+		transmit_definetimedate(d);
+		
 		if (sub && sub->owner) {
 			ast_debug(1, "Current sub [%s] already has owner\n", sub->owner->name);
 		} else {
@@ -5387,6 +5388,8 @@
 
 	if (l->hookstate == SKINNY_ONHOOK) {
 		/* Something else already put us back on hook */
+		/* Not ideal, but let's send updated time anyway, as it clears the display */
+		transmit_definetimedate(d);
 		return 0;
 	}
 




More information about the asterisk-commits mailing list