[asterisk-commits] anthonyl: branch anthonyl/skinny-redux r47869 - /team/anthonyl/skinny-redux/c...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Nov 20 17:59:54 MST 2006


Author: anthonyl
Date: Mon Nov 20 18:59:54 2006
New Revision: 47869

URL: http://svn.digium.com/view/asterisk?view=rev&rev=47869
Log:
display clearing test1

Modified:
    team/anthonyl/skinny-redux/channels/chan_skinny.c

Modified: team/anthonyl/skinny-redux/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/skinny-redux/channels/chan_skinny.c?view=diff&rev=47869&r1=47868&r2=47869
==============================================================================
--- team/anthonyl/skinny-redux/channels/chan_skinny.c (original)
+++ team/anthonyl/skinny-redux/channels/chan_skinny.c Mon Nov 20 18:59:54 2006
@@ -421,7 +421,13 @@
 };
 
 #define CLEAR_NOTIFY_MESSAGE  0x0115
+
 #define CLEAR_PROMPT_MESSAGE  0x0113
+struct clear_prompt_message {
+        uint32_t instance;
+	uint32_t callid;
+};
+
 #define CLEAR_DISPLAY_MESSAGE 0x009A
 
 #define CAPABILITIES_REQ_MESSAGE 0x009B
@@ -720,6 +726,7 @@
 	struct display_notify_message displaynotify;
 	struct dialed_number_message dialednumber;
 	struct soft_key_event_message softkeyeventmessage;
+	struct clear_prompt_message clearpromptmessage;
 };
 
 /* packet composition */
@@ -1668,6 +1675,19 @@
 	transmit_response(s, req);
 }
 
+static void transmit_clear_prompt_status(struct skinnysession *s, int instance, int callid)
+{
+	struct skinny_req *req;
+	
+	if (!(req = req_alloc(sizeof(struct clear_prompt_message) , CLEAR_PROMPT_MESSAGE)))
+			return;
+	
+	req->data.clearpromptmessage.instance = htolel(instance); 
+	req->data.clearpromptmessage.callid   = htolel(callid);
+
+	transmit_response(s, req);
+}
+
 /*
 static int has_voicemail(struct skinny_line *l)
 {
@@ -2409,12 +2429,14 @@
 			transmit_callstate(s, l->instance, SKINNY_ONHOOK, sub->callid);
 			transmit_lamp_indication(s, STIMULUS_LINE, l->instance, SKINNY_LAMP_OFF);
 			transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
+			transmit_clear_prompt_status(s, l->instance, sub->callid);
 		} else if ((l->type = TYPE_LINE) && (l->hookstate == SKINNY_ONHOOK)) {
 			transmit_callstate(s, l->instance, SKINNY_ONHOOK, sub->callid);
 			transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
 			transmit_ringer_mode(s, SKINNY_RING_OFF);
 			transmit_tone(s, SKINNY_SILENCE);
 			transmit_lamp_indication(s, STIMULUS_LINE, l->instance, SKINNY_LAMP_OFF);
+			transmit_clear_prompt_status(s, l->instance, sub->callid);
 			do_housekeeping(s);
 		}
 	}



More information about the asterisk-commits mailing list