aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2006-10-15 22:11:26 +0000
committerAnders Broman <anders.broman@ericsson.com>2006-10-15 22:11:26 +0000
commitdc10ba22e621e373fce26f840dd466916c8b64e6 (patch)
tree4253b94e451fb8f3f0375c23518984dbec5eaab7 /epan
parent6c0254b1cb3155fe73c54d27924b076ab4d7b3c6 (diff)
Fix Event dissection which was broken when going to V3.
and add a few parameters. svn path=/trunk/; revision=19544
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-h248.c26
-rw-r--r--epan/dissectors/packet-h248_annex_e.c32
-rw-r--r--epan/dissectors/packet-isup.c1
3 files changed, 49 insertions, 10 deletions
diff --git a/epan/dissectors/packet-h248.c b/epan/dissectors/packet-h248.c
index 625408720b..df406577bd 100644
--- a/epan/dissectors/packet-h248.c
+++ b/epan/dissectors/packet-h248.c
@@ -291,7 +291,7 @@ static int hf_h248_termList_item = -1; /* TerminationID */
static int hf_h248_nonStandardData = -1; /* NonStandardData */
static int hf_h248_eventList = -1; /* SEQUENCE_OF_RequestedEvent */
static int hf_h248_eventList_item = -1; /* RequestedEvent */
-static int hf_h248_pkgdName = -1; /* PkgdName */
+static int hf_h248_pkgdName = -1; /* EventName */
static int hf_h248_eventAction = -1; /* RequestedActions */
static int hf_h248_evParList = -1; /* SEQUENCE_OF_EventParameter */
static int hf_h248_evParList_item = -1; /* EventParameter */
@@ -306,6 +306,7 @@ static int hf_h248_resetEventsDescriptor = -1; /* NULL */
static int hf_h248_digitMapValue = -1; /* DigitMapValue */
static int hf_h248_secondaryEventList = -1; /* SEQUENCE_OF_SecondRequestedEvent */
static int hf_h248_secondaryEventList_item = -1; /* SecondRequestedEvent */
+static int hf_h248_pkgdName1 = -1; /* PkgdName */
static int hf_h248_secondaryEventAction = -1; /* SecondRequestedActions */
static int hf_h248_EventBufferDescriptor_item = -1; /* EventSpec */
static int hf_h248_SignalsDescriptor_item = -1; /* SignalRequest */
@@ -2897,8 +2898,8 @@ static int dissect_iASignalName_impl(packet_info *pinfo, proto_tree *tree, tvbuf
static int dissect_iAStatName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_h248_PkgdName(TRUE, tvb, offset, pinfo, tree, hf_h248_iAStatName);
}
-static int dissect_pkgdName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_h248_PkgdName(TRUE, tvb, offset, pinfo, tree, hf_h248_pkgdName);
+static int dissect_pkgdName1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_h248_PkgdName(TRUE, tvb, offset, pinfo, tree, hf_h248_pkgdName1);
}
@@ -3868,6 +3869,13 @@ static int dissect_requestId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t
return dissect_h248_RequestID(TRUE, tvb, offset, pinfo, tree, hf_h248_requestId);
}
+static int dissect_eventName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_h248_EventName(TRUE, tvb, offset, pinfo, tree, hf_h248_eventName);
+}
+static int dissect_pkgdName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_h248_EventName(TRUE, tvb, offset, pinfo, tree, hf_h248_pkgdName);
+}
+
static int
@@ -4355,7 +4363,7 @@ static int dissect_evParList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t
static const ber_sequence_t SecondRequestedEvent_sequence[] = {
- { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pkgdName_impl },
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pkgdName1_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_streamID_impl },
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_secondaryEventAction_impl },
{ BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_evParList_impl },
@@ -4480,10 +4488,6 @@ static int dissect_eventsDescriptor_impl(packet_info *pinfo, proto_tree *tree, t
return dissect_h248_EventsDescriptor(TRUE, tvb, offset, pinfo, tree, hf_h248_eventsDescriptor);
}
-static int dissect_eventName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_h248_EventName(TRUE, tvb, offset, pinfo, tree, hf_h248_eventName);
-}
-
static const ber_sequence_t EventSpec_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventName_impl },
@@ -7283,7 +7287,7 @@ void proto_register_h248(void) {
{ &hf_h248_pkgdName,
{ "pkgdName", "h248.pkgdName",
FT_BYTES, BASE_HEX, NULL, 0,
- "h248.PkgdName", HFILL }},
+ "h248.EventName", HFILL }},
{ &hf_h248_eventAction,
{ "eventAction", "h248.eventAction",
FT_NONE, BASE_NONE, NULL, 0,
@@ -7340,6 +7344,10 @@ void proto_register_h248(void) {
{ "Item", "h248.eventList_item",
FT_NONE, BASE_NONE, NULL, 0,
"h248.SecondRequestedEvent", HFILL }},
+ { &hf_h248_pkgdName1,
+ { "pkgdName", "h248.pkgdName",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "h248.PkgdName", HFILL }},
{ &hf_h248_secondaryEventAction,
{ "eventAction", "h248.eventAction",
FT_NONE, BASE_NONE, NULL, 0,
diff --git a/epan/dissectors/packet-h248_annex_e.c b/epan/dissectors/packet-h248_annex_e.c
index 1437c6be7d..30abd3e98f 100644
--- a/epan/dissectors/packet-h248_annex_e.c
+++ b/epan/dissectors/packet-h248_annex_e.c
@@ -145,7 +145,9 @@ static int hf_h248_pkg_al_evt_onhook = -1;
static int hf_h248_pkg_al_evt_offhook = -1;
static int hf_h248_pkg_al_evt_flashhook = -1;
static int hf_h248_pkg_al_evt_onhook_par_strict = -1;
+static int hf_h248_pkg_al_evt_offhook_par_strict = -1;
static int hf_h248_pkg_al_evt_onhook_par_init = -1;
+static int hf_h248_pkg_al_evt_offhook_par_init = -1;
static int hf_h248_pkg_al_evt_flashhook_par_mindur = -1;
static gint ett_h248_pkg_al = -1;
@@ -162,6 +164,11 @@ static const value_string h248_pkg_al_evt_onhook_strict_vals[] = {
};
static const true_false_string h248_pkg_al_evt_onhook_par_init_vals = {
+ "already on-hook",
+ "actual state transition to on-hook"
+};
+
+static const true_false_string h248_pkg_al_evt_offhook_par_init_vals = {
"already off-hook",
"actual state transition to off-hook"
};
@@ -172,6 +179,12 @@ static h248_pkg_param_t h248_pkg_al_evt_onhook_params[] = {
{ 0, NULL, NULL, NULL}
};
+static h248_pkg_param_t h248_pkg_al_evt_offhook_params[] = {
+ { 0x0001, &hf_h248_pkg_al_evt_offhook_par_strict, h248_param_ber_integer, NULL },
+ { 0x0002, &hf_h248_pkg_al_evt_offhook_par_init, h248_param_ber_boolean, NULL },
+ { 0, NULL, NULL, NULL}
+};
+
static h248_pkg_param_t h248_pkg_al_evt_flashhook_params[] = {
{ 0x0001, &hf_h248_pkg_al_evt_flashhook_par_mindur, h248_param_ber_integer, NULL },
{ 0, NULL, NULL, NULL}
@@ -179,7 +192,7 @@ static h248_pkg_param_t h248_pkg_al_evt_flashhook_params[] = {
static h248_pkg_evt_t h248_pkg_al_evts[] = {
{ 0x0004, &hf_h248_pkg_al_evt_onhook, &ett_h248_pkg_al_evt_onhook, h248_pkg_al_evt_onhook_params },
- { 0x0005, &hf_h248_pkg_al_evt_offhook, &ett_h248_pkg_al_evt_offhook, h248_pkg_al_evt_onhook_params },
+ { 0x0005, &hf_h248_pkg_al_evt_offhook, &ett_h248_pkg_al_evt_offhook, h248_pkg_al_evt_offhook_params },
{ 0x0006, &hf_h248_pkg_al_evt_flashhook, &ett_h248_pkg_al_evt_flashhook, h248_pkg_al_evt_flashhook_params },
@@ -187,6 +200,16 @@ static h248_pkg_evt_t h248_pkg_al_evts[] = {
};
/* Packet defenitions */
+static const value_string h248_pkg_al_parameters[] = {
+ /* Signals */
+ { 0x0002, "ri (Ring)" },
+ /* Events */
+ { 0x0004, "on (On-hook)" },
+ { 0x0005, "off (Off-hook)" },
+ { 0x0006, "fl (Flashhook)" },
+
+ {0, NULL},
+};
static h248_package_t h248_pkg_al = {
0x0009,
@@ -275,10 +298,17 @@ void proto_register_h248_annex_e(void) {
{ &hf_h248_pkg_generic_cause_failurecause, { "Generic Cause", "h248.pkg.generic.cause.failurecause", FT_STRING, BASE_HEX, NULL, 0, "", HFILL }},
/* H.248.1 E.9 Analog Line Supervision Package */
{ &hf_h248_pkg_al, { "Analog Line Supervision Package", "h248.pkg.al", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_h248_pkg_al_param,
+ { "Parameter", "h248.pkg.al.parameter",
+ FT_UINT16, BASE_HEX, VALS(h248_pkg_al_parameters), 0, "Parameter", HFILL }
+ },
{ &hf_h248_pkg_al_evt_onhook, { "onhook", "h248.pkg.al.onhook", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_h248_pkg_al_evt_offhook, { "offhook", "h248.pkg.al.offhook", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_h248_pkg_al_evt_flashhook, { "flashhook", "h248.pkg.al.flashhook", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_h248_pkg_al_evt_onhook_par_strict, { "strict", "h248.pkg.al.ev.onhook.strict", FT_UINT8, BASE_DEC, VALS(h248_pkg_al_evt_onhook_strict_vals), 0, "", HFILL }},
+ { &hf_h248_pkg_al_evt_onhook_par_init, { "init", "h248.pkg.al.ev.onhook.init", FT_BOOLEAN, 8, TFS(&h248_pkg_al_evt_onhook_par_init_vals), 0, "", HFILL }},
+ { &hf_h248_pkg_al_evt_offhook_par_strict, { "strict", "h248.pkg.al.ev.offhook.strict", FT_UINT8, BASE_DEC, VALS(h248_pkg_al_evt_onhook_strict_vals), 0, "", HFILL }},
+ { &hf_h248_pkg_al_evt_offhook_par_init, { "init", "h248.pkg.al.ev.onhook.init", FT_BOOLEAN, 8, TFS(&h248_pkg_al_evt_offhook_par_init_vals), 0, "", HFILL }},
{ &hf_h248_pkg_al_evt_flashhook_par_mindur, { "Minimum duration in ms", "h248.pkg.al.ev.flashhook.mindur", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
/* H.248.1 E.12 RTP package */
{ &hf_h248_pkg_rtp, { "RTP package", "h248.pkg.rtp", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }},
diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c
index e9c1f47c6c..dab9c95b4a 100644
--- a/epan/dissectors/packet-isup.c
+++ b/epan/dissectors/packet-isup.c
@@ -2782,6 +2782,7 @@ const value_string bearer_network_connection_characteristics_vals[] = {
{ 0x02, "AAL type 2"},
{ 0x03, "Structured AAL type 1"},
{ 0x04, "IP/RTP"},
+ { 0x05, "TDM (reserved for use by ITU-T Rec. Q.1950)"},
{ 0, NULL }
};