diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-10-15 22:11:26 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-10-15 22:11:26 +0000 |
commit | dc10ba22e621e373fce26f840dd466916c8b64e6 (patch) | |
tree | 4253b94e451fb8f3f0375c23518984dbec5eaab7 /epan | |
parent | 6c0254b1cb3155fe73c54d27924b076ab4d7b3c6 (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.c | 26 | ||||
-rw-r--r-- | epan/dissectors/packet-h248_annex_e.c | 32 | ||||
-rw-r--r-- | epan/dissectors/packet-isup.c | 1 |
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 } }; |