aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/unistim
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2008-12-02 07:09:01 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2008-12-02 07:09:01 +0000
commit7c65de9865e68cc5cc758ed086b8aa54c17eeb5b (patch)
treeb3c619c25d7706db3150b0582610f635f314f906 /plugins/unistim
parentb1d9a9cbae34beb1c379cbdc159690839060ab39 (diff)
From Don Newton:
Flesh out call duration timer message. svn path=/trunk/; revision=26898
Diffstat (limited to 'plugins/unistim')
-rw-r--r--plugins/unistim/defines.h6
-rw-r--r--plugins/unistim/display.h24
-rw-r--r--plugins/unistim/header_field.h21
-rw-r--r--plugins/unistim/packet-unistim.c15
4 files changed, 64 insertions, 2 deletions
diff --git a/plugins/unistim/defines.h b/plugins/unistim/defines.h
index 928a7072b3..2b8843addb 100644
--- a/plugins/unistim/defines.h
+++ b/plugins/unistim/defines.h
@@ -210,6 +210,12 @@
#define DISPLAY_LAYER_ALL_SKEYS 0x80
#define DISPLAY_ONE_OR_CYCLIC 0x80
+#define DISPLAY_CALL_TIMER_MODE 0x01
+#define DISPLAY_CALL_TIMER_RESET 0x02
+#define DISPLAY_CALL_TIMER_DISPLAY 0x04
+#define DISPLAY_CALL_TIMER_DELAY 0x08
+#define DISPLAY_CALL_TIMER_ID 0x3f
+
#define KEY_NUM_PROG_KEYS 0x1f
#define KEY_NUM_SOFT_KEYS 0xe0
#define KEY_HD_KEY_EXISTS 0x01
diff --git a/plugins/unistim/display.h b/plugins/unistim/display.h
index 54058ab281..e8e7dd73e5 100644
--- a/plugins/unistim/display.h
+++ b/plugins/unistim/display.h
@@ -118,6 +118,11 @@ static int hf_display_layer_skey_id=-1;
static int hf_display_layer_all_skeys=-1;
static int hf_display_once_or_cyclic=-1;
static int hf_display_layer_duration=-1;
+static int hf_display_call_timer_mode=-1;
+static int hf_display_call_timer_reset=-1;
+static int hf_display_call_timer_display=-1;
+static int hf_display_call_timer_delay=-1;
+static int hf_display_call_timer_id=-1;
static const value_string arrow_dirs[]={
@@ -246,6 +251,25 @@ static const value_string icon_types[]={
{0,NULL}
};
+static const true_false_string call_duration_timer_mode={
+ "Mode = start timer",
+ "Mode = stop timer"
+};
+
+static const true_false_string call_duration_timer_reset={
+ "Reset time to zero",
+ "Do not reset timer"
+};
+
+static const true_false_string call_duration_display_timer={
+ "Call Duration timer is shown on the display",
+ "Call Duration timer is not shown on the display"
+};
+
+static const true_false_string call_duration_timer_delay={
+ "Action occurs after Call Duration Timer Delay",
+ "Action occurs immediately"
+};
#endif
diff --git a/plugins/unistim/header_field.h b/plugins/unistim/header_field.h
index 92ad72cfe7..054e0823e6 100644
--- a/plugins/unistim/header_field.h
+++ b/plugins/unistim/header_field.h
@@ -1296,6 +1296,27 @@ static hf_register_info hf[] = {
{"User Activity Timeout Value","unistim.keys.user.timeout.value",FT_UINT8,
BASE_DEC,NULL,0x00,NULL,HFILL}
},
+ { &hf_display_call_timer_mode,
+ {"Call Timer Mode","unistim.display.call.timer.mode",FT_BOOLEAN,
+ 8,TFS(&call_duration_timer_mode),DISPLAY_CALL_TIMER_MODE,NULL,HFILL}
+ },
+ { &hf_display_call_timer_reset,
+ {"Call Timer Reset","unistim.display.call.timer.reset",FT_BOOLEAN,
+ 8,TFS(&call_duration_timer_reset),DISPLAY_CALL_TIMER_RESET,NULL,HFILL}
+ },
+ { &hf_display_call_timer_display,
+ {"Call Timer Display","unistim.display.call.timer.display",FT_BOOLEAN,
+ 8,TFS(&call_duration_display_timer),DISPLAY_CALL_TIMER_DISPLAY,NULL,HFILL}
+ },
+ { &hf_display_call_timer_delay,
+ {"Call Timer Delay","unistim.display.call.timer.delay",FT_BOOLEAN,
+ 8,TFS(&call_duration_timer_delay),DISPLAY_CALL_TIMER_DELAY,NULL,HFILL}
+ },
+ { &hf_display_call_timer_id,
+ {"Call Timer ID","unistim.display.call.timer.id",FT_UINT8,
+ BASE_DEC,NULL,DISPLAY_CALL_TIMER_ID,NULL,HFILL}
+ },
+
/****LAST****/
{ &hf_generic_string,
{"DATA","unistim.generic.data",FT_STRING,
diff --git a/plugins/unistim/packet-unistim.c b/plugins/unistim/packet-unistim.c
index 4a9f53b8cc..d84867322b 100644
--- a/plugins/unistim/packet-unistim.c
+++ b/plugins/unistim/packet-unistim.c
@@ -789,8 +789,19 @@ dissect_display_switch(proto_tree *msg_tree,
break;
case 0x0b:
/*Call Duration Timer*/
- proto_tree_add_item(msg_tree,hf_generic_data,tvb,offset,msg_len,FALSE);
- offset+=msg_len;
+ proto_tree_add_item(msg_tree,hf_basic_bit_field,tvb,offset,1,FALSE);
+ proto_tree_add_item(msg_tree,hf_display_call_timer_mode,tvb,offset,
+ 1,FALSE);
+ proto_tree_add_item(msg_tree,hf_display_call_timer_reset,tvb,offset,
+ 1,FALSE);
+ proto_tree_add_item(msg_tree,hf_display_call_timer_display,tvb,offset,
+ 1,FALSE);
+ proto_tree_add_item(msg_tree,hf_display_call_timer_delay,tvb,offset,
+ 1,FALSE);
+ offset+=1;msg_len-=1;
+ proto_tree_add_item(msg_tree,hf_display_call_timer_id,tvb,offset,
+ 1,FALSE);
+ offset+=1;msg_len-=1;
break;
case 0x0c:
/*Query Display Manager*/