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

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Jun 7 13:25:19 MST 2007


Author: qwell
Date: Thu Jun  7 15:25:18 2007
New Revision: 68249

URL: http://svn.digium.com/view/asterisk?view=rev&rev=68249
Log:
Fix an issue with newer phones which require packets be padded out to the correct length.

Issue 9887, patch 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=68249&r1=68248&r2=68249
==============================================================================
--- branches/1.4/channels/chan_skinny.c (original)
+++ branches/1.4/channels/chan_skinny.c Thu Jun  7 15:25:18 2007
@@ -258,15 +258,20 @@
 #define START_TONE_MESSAGE 0x0082
 struct start_tone_message {
 	uint32_t tone;
+	uint32_t space[3];
 };
 
 #define STOP_TONE_MESSAGE 0x0083
+struct stop_tone_message {
+	uint32_t space[2];
+};
 
 #define SET_RINGER_MESSAGE 0x0085
 struct set_ringer_message {
 	uint32_t ringerMode;
 	uint32_t unknown1; /* See notes in transmit_ringer_mode */
 	uint32_t unknown2;
+	uint32_t space[2];
 };
 
 #define SET_LAMP_MESSAGE 0x0086
@@ -291,7 +296,7 @@
 struct media_qualifier {
 	uint32_t precedence;
 	uint32_t vad;
-	uint32_t packets;
+	uint16_t packets;
 	uint32_t bitRate;
 };
 
@@ -303,12 +308,14 @@
 	uint32_t packetSize;
 	uint32_t payloadType;
 	struct media_qualifier qualifier;
+	uint32_t space[16];
 };
 
 #define STOP_MEDIA_TRANSMISSION_MESSAGE 0x008B
 struct stop_media_transmission_message {
 	uint32_t conferenceId;
 	uint32_t passThruPartyId;
+	uint32_t space[3];
 };
 
 #define CALL_INFO_MESSAGE 0x008F
@@ -330,6 +337,7 @@
 	char calledPartyVoiceMailbox[24];
 	char originalCalledPartyVoiceMailbox[24];
 	char lastRedirectingVoiceMailbox[24];
+	uint32_t space[3];
 };
 
 #define SPEED_DIAL_STAT_RES_MESSAGE 0x0091
@@ -343,8 +351,8 @@
 struct line_stat_res_message {
 	uint32_t lineNumber;
 	char lineDirNumber[24];
-	char lineDisplayName[42];
-	uint32_t space;
+	char lineDisplayName[24];
+	uint32_t space[15];
 };
 
 #define DEFINETIMEDATE_MESSAGE 0x0094
@@ -429,7 +437,6 @@
 };
 
 #define CLEAR_NOTIFY_MESSAGE  0x0115
-#define CLEAR_PROMPT_MESSAGE  0x0113
 #define CLEAR_DISPLAY_MESSAGE 0x009A
 
 #define CAPABILITIES_REQ_MESSAGE 0x009B
@@ -465,12 +472,14 @@
 	uint32_t capability;
 	uint32_t echo;
 	uint32_t bitrate;
+	uint32_t space[16];
 };
 
 #define CLOSE_RECEIVE_CHANNEL_MESSAGE 0x0106
 struct close_receive_channel_message {
 	uint32_t conferenceId;
 	uint32_t partyId;
+	uint32_t space[2];
 };
 
 #define SOFT_KEY_TEMPLATE_RES_MESSAGE 0x0108
@@ -660,6 +669,7 @@
 	uint32_t callState;
 	uint32_t lineInstance;
 	uint32_t callReference;
+	uint32_t space[3];
 };
 
 #define DISPLAY_PROMPT_STATUS_MESSAGE 0x0112
@@ -668,6 +678,12 @@
 	char promptMessage[32];
 	uint32_t lineInstance;
 	uint32_t callReference;
+};
+
+#define CLEAR_PROMPT_MESSAGE  0x0113
+struct clear_prompt_message {
+       uint32_t lineInstance;
+       uint32_t callReference;
 };
 
 #define DISPLAY_NOTIFY_MESSAGE 0x0114
@@ -699,6 +715,7 @@
 	struct button_template_res_message buttontemplate;
 	struct displaytext_message displaytext;
 	struct display_prompt_status_message displaypromptstatus;
+	struct clear_prompt_message clearpromptstatus;
 	struct definetimedate_message definetimedate;
 	struct start_tone_message starttone;
 	struct speed_dial_stat_res_message speeddial;
@@ -926,7 +943,7 @@
 struct skinny_line {
 	ast_mutex_t lock;
 	char name[80];
-	char label[42];					/* Label that shows next to the line buttons */
+	char label[24];					/* Label that shows next to the line buttons */
 	char accountcode[AST_MAX_ACCOUNT_CODE];
 	char exten[AST_MAX_EXTENSION];			/* Extension where to start */
 	char context[AST_MAX_CONTEXT];
@@ -1564,7 +1581,7 @@
 		if (!(req = req_alloc(sizeof(struct start_tone_message), START_TONE_MESSAGE)))
 			return;
 	} else {
-		if (!(req = req_alloc(0, STOP_TONE_MESSAGE)))
+		if (!(req = req_alloc(sizeof(struct stop_tone_message), STOP_TONE_MESSAGE)))
 			return;
 	}
 
@@ -4108,6 +4125,8 @@
 		res = handle_speed_dial_stat_req_message(req, s);
 		break;
 	case LINE_STATE_REQ_MESSAGE:
+		if (skinnydebug)
+			ast_verbose("Received LineStatRequest\n");
 		res = handle_line_state_req_message(req, s);
 		break;
 	case TIME_DATE_REQ_MESSAGE:



More information about the asterisk-commits mailing list