summaryrefslogtreecommitdiff
path: root/asn1
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2008-11-04 22:01:35 +0000
committerBill Meier <wmeier@newsguy.com>2008-11-04 22:01:35 +0000
commit017f36d61bd8f72f3eb06f962245385dc0a5ed38 (patch)
tree285f9e57641612fd7549f040ef082a42a7c34c26 /asn1
parent92a9b695a49890ba962794753669551a2871ac3f (diff)
downloadwireshark-017f36d61bd8f72f3eb06f962245385dc0a5ed38.tar.gz
Minor cleanup mostly related to proto_reg_handoff
Remove code for unused handles; Localize handles to proto_reg_handoff as appropriate; Localize "saved_prefs" to proto_reg_handoff; In some cases: move "once-only" code in proto_reg_handoff so that it's executed only the first time thru proto_reg_handoff; Properly delete/add port when pref changed (packet_ulp); svn path=/trunk/; revision=26697
Diffstat (limited to 'asn1')
-rw-r--r--asn1/gsmmap/packet-gsmmap-template.c710
-rw-r--r--asn1/h225/packet-h225-template.c69
-rw-r--r--asn1/ranap/packet-ranap-template.c9
-rw-r--r--asn1/s1ap/packet-s1ap-template.c28
-rw-r--r--asn1/sabp/packet-sabp-template.c15
-rw-r--r--asn1/ulp/packet-ulp-template.c37
6 files changed, 430 insertions, 438 deletions
diff --git a/asn1/gsmmap/packet-gsmmap-template.c b/asn1/gsmmap/packet-gsmmap-template.c
index 3397430524..0681b17b4c 100644
--- a/asn1/gsmmap/packet-gsmmap-template.c
+++ b/asn1/gsmmap/packet-gsmmap-template.c
@@ -179,7 +179,6 @@ static dissector_handle_t map_handle;
/* Preferenc settings default */
#define MAX_SSN 254
static range_t *global_ssn_range;
-static range_t *ssn_range;
/* Global variables */
static guint32 opcode=0;
@@ -2053,102 +2052,103 @@ static void range_add_callback(guint32 ssn)
void proto_reg_handoff_gsm_map(void) {
- static int map_prefs_initialized = FALSE;
- data_handle = find_dissector("data");
- ranap_handle = find_dissector("ranap");
- dtap_handle = find_dissector("gsm_a_dtap");
+ static gboolean map_prefs_initialized = FALSE;
+ static range_t *ssn_range;
if (!map_prefs_initialized) {
map_prefs_initialized = TRUE;
- map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
- register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3");
- register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" );
- /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
- /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/
- register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" );
- /* Private extension container */
- register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" );
+ data_handle = find_dissector("data");
+ ranap_handle = find_dissector("ranap");
+ dtap_handle = find_dissector("gsm_a_dtap");
+
+ map_handle = find_dissector("gsm_map");
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3");
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" );
+ /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
+ /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" );
+ /* Private extension container */
+ register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" );
}
else {
range_foreach(ssn_range, range_delete_callback);
+ g_free(ssn_range);
}
- g_free(ssn_range);
ssn_range = range_copy(global_ssn_range);
-
range_foreach(ssn_range, range_add_callback);
}
@@ -2159,255 +2159,255 @@ void proto_register_gsm_map(void) {
/* List of fields */
static hf_register_info hf[] = {
- { &hf_gsm_map_old_Component_PDU,
- { "Component", "gsm_map.old.Component",
- FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0,
- "gsm_map.old.Component", HFILL }},
- { &hf_gsm_map_getPassword,
- { "getPassword", "gsm_map.getPassword",
- FT_BYTES, BASE_HEX, NULL, 0,
- "getPassword", HFILL }},
- { &hf_gsm_map_currentPassword,
- { "currentPassword", "gsm_map.currentPassword",
- FT_STRING, BASE_NONE, NULL, 0,
- "", HFILL }},
- { &hf_gsm_map_extension,
- { "Extension", "gsm_map.extension",
- FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
- "Extension", HFILL }},
- { &hf_gsm_map_nature_of_number,
- { "Nature of number", "gsm_map.nature_of_number",
- FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
- "Nature of number", HFILL }},
- { &hf_gsm_map_number_plan,
- { "Number plan", "gsm_map.number_plan",
- FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
- "Number plan", HFILL }},
- { &hf_gsm_map_isdn_address_digits,
- { "ISDN Address digits", "gsm_map.isdn.address.digits",
- FT_STRING, BASE_NONE, NULL, 0,
- "ISDN Address digits", HFILL }},
- { &hf_gsm_map_address_digits,
- { "Address digits", "gsm_map.address.digits",
- FT_STRING, BASE_NONE, NULL, 0,
- "Address digits", HFILL }},
- { &hf_gsm_map_servicecentreaddress_digits,
- { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
- FT_STRING, BASE_NONE, NULL, 0,
- "ServiceCentreAddress digits", HFILL }},
- { &hf_gsm_map_imsi_digits,
- { "IMSI digits", "gsm_map.imsi_digits",
- FT_STRING, BASE_NONE, NULL, 0,
- "IMSI digits", HFILL }},
- { &hf_gsm_map_TBCD_digits,
- { "TBCD digits", "gsm_map.imsi_digits",
- FT_STRING, BASE_NONE, NULL, 0,
- "TBCD digits", HFILL }},
- { &hf_gsm_map_Ss_Status_unused,
- { "Unused", "gsm_map.unused",
- FT_UINT8, BASE_HEX, NULL, 0xf0,
- "Unused", HFILL }},
- { &hf_gsm_map_Ss_Status_q_bit,
- { "Q bit", "gsm_map.ss_status_q_bit",
- FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
- "Q bit", HFILL }},
- { &hf_gsm_map_Ss_Status_p_bit,
- { "P bit", "gsm_map.ss_status_p_bit",
- FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
- "P bit", HFILL }},
- { &hf_gsm_map_Ss_Status_r_bit,
- { "R bit", "gsm_map.ss_status_r_bit",
- FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
- "R bit", HFILL }},
- { &hf_gsm_map_Ss_Status_a_bit,
- { "A bit", "gsm_map.ss_status_a_bit",
- FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
- "A bit", HFILL }},
- { &hf_gsm_map_notification_to_forwarding_party,
- { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
- FT_BOOLEAN, 8, TFS(&notification_value), 0x80,
- "Notification to forwarding party", HFILL }},
- { &hf_gsm_map_redirecting_presentation,
- { "Redirecting presentation", "gsm_map.redirecting_presentation",
- FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
- "Redirecting presentation", HFILL }},
- { &hf_gsm_map_notification_to_calling_party,
- { "Notification to calling party", "gsm_map.notification_to_clling_party",
- FT_BOOLEAN, 8, TFS(&notification_value), 0x20,
- "Notification to calling party", HFILL }},
- { &hf_gsm_map_forwarding_reason,
- { "Forwarding reason", "gsm_map.forwarding_reason",
- FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
- "forwarding reason", HFILL }},
- { &hf_gsm_map_pdp_type_org,
- { "PDP Type Organization", "gsm_map.pdp_type_org",
- FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
- "PDP Type Organization", HFILL }},
- { &hf_gsm_map_etsi_pdp_type_number,
- { "PDP Type Number", "gsm_map.pdp_type_org",
- FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
- "ETSI PDP Type Number", HFILL }},
- { &hf_gsm_map_ietf_pdp_type_number,
- { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
- FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
- "IETF PDP Type Number", HFILL }},
- { &hf_gsm_map_ext_qos_subscribed_pri,
- { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
- FT_UINT8, BASE_DEC, NULL, 0xff,
- "Allocation/Retention priority", HFILL }},
- { &hf_gsm_map_qos_traffic_cls,
- { "Traffic class", "gsm_map.qos.traffic_cls",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0xe0,
- "Traffic class", HFILL }},
- { &hf_gsm_map_qos_del_order,
- { "Delivery order", "gsm_map.qos.del_order",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0x18,
- "Delivery order", HFILL }},
- { &hf_gsm_map_qos_del_of_err_sdu,
- { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_del_of_err_sdu_vals), 0x03,
- "Delivery of erroneous SDUs", HFILL }},
- { &hf_gsm_map_qos_ber,
- { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_ber_vals), 0xf0,
- "Residual Bit Error Rate (BER)", HFILL }},
- { &hf_gsm_map_qos_sdu_err_rat,
- { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_sdu_err_rat_vals), 0x0f,
- "SDU error ratio", HFILL }},
- { &hf_gsm_map_qos_traff_hdl_pri,
- { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
- FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traff_hdl_pri_vals), 0x03,
- "Traffic handling priority", HFILL }},
-
- { &hf_gsm_map_qos_max_sdu,
- { "Maximum SDU size", "gsm_map.qos.max_sdu",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Maximum SDU size", HFILL }},
- { &hf_gsm_map_max_brate_ulink,
- { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Maximum bit rate for uplink", HFILL }},
- { &hf_gsm_map_max_brate_dlink,
- { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Maximum bit rate for downlink", HFILL }},
- { &hf_gsm_map_qos_transfer_delay,
- { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
- FT_UINT8, BASE_DEC, NULL, 0xfc,
- "Transfer delay", HFILL }},
- { &hf_gsm_map_guaranteed_max_brate_ulink,
- { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Guaranteed bit rate for uplink", HFILL }},
- { &hf_gsm_map_guaranteed_max_brate_dlink,
- { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Guaranteed bit rate for downlink", HFILL }},
- { &hf_gsm_map_GSNAddress_IPv4,
- { "GSN-Address IPv4", "gsm_map.gsnaddress_ipv4",
- FT_IPv4, BASE_NONE, NULL, 0,
- "IPAddress IPv4", HFILL }},
- { &hf_gsm_map_GSNAddress_IPv6,
- { "GSN Address IPv6", "gsm_map.gsnaddress_ipv6",
- FT_IPv4, BASE_NONE, NULL, 0,
- "IPAddress IPv6", HFILL }},
- { &hf_gsm_map_ranap_service_Handover,
- { "service-Handover", "gsm_map.ranap.service_Handover",
- FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0,
- "gsm_map.ranap.Service_Handover", HFILL }},
- { &hf_gsm_map_IntegrityProtectionInformation,
- { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation",
- FT_NONE, BASE_NONE, NULL, 0,
- "gsm_map.ranap.IntegrityProtectionInformation", HFILL }},
- { &hf_gsm_map_EncryptionInformation,
- { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation",
- FT_NONE, BASE_NONE, NULL, 0,
- "gsm_map.ranap.EncryptionInformation", HFILL }},
- { &hf_gsm_map_PlmnContainer_PDU,
- { "PlmnContainer", "gsm_map.PlmnContainer",
- FT_NONE, BASE_NONE, NULL, 0,
- "gsm_map.PlmnContainer", HFILL }},
- { &hf_gsm_map_ss_SS_UserData,
- { "SS-UserData", "gsm_ss.SS_UserData",
- FT_STRING, BASE_NONE, NULL, 0,
- "gsm_map.ss.SS_UserData", HFILL }},
- { &hf_gsm_map_cbs_coding_grp,
- { "Coding Group","gsm_map.cbs.coding_grp",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_data_coding_scheme_coding_grp_vals), 0xf0,
- "Coding Group", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp0_lang,
- { "Language","gsm_map.cbs.coding_grp0_lang",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp0_lang_vals), 0x0f,
- "Language", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp1_lang,
- { "Language","gsm_map.cbs.coding_grp1_lang",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp1_lang_vals), 0x0f,
- "Language", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp2_lang,
- { "Language","gsm_map.cbs.coding_grp2_lang",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp2_lang_vals), 0x0f,
- "Language", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp3_lang,
- { "Language","gsm_map.cbs.coding_grp3_lang",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp3_lang_vals), 0x0f,
- "Language", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp4_7_comp,
- { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp",
- FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20,
- "Compressed indicator", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp4_7_class_ind,
- { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind",
- FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10,
- "Message Class present", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp4_7_char_set,
- { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c,
- "Character set being used", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp4_7_class,
- { "Message Class","gsm_map.cbs.coding_grp4_7_class",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03,
- "Message Class", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp15_mess_code,
- { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04,
- "Message coding", HFILL }
- },
- { &hf_gsm_map_cbs_coding_grp15_class,
- { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class",
- FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03,
- "Message Class", HFILL }
- },
- { &hf_gsm_map_tmsi,
- { "tmsi", "gsm_map.tmsi",
- FT_BYTES, BASE_HEX, NULL, 0,
- "gsm_map.TMSI", HFILL }},
-
- { &hf_gsm_map_ie_tag,
- { "Tag", "gsm_map.ie_tag",
- FT_UINT8, BASE_DEC, VALS(gsm_map_tag_vals), 0,
- "GSM 04.08 tag", HFILL }},
- { &hf_gsm_map_len,
- { "Length", "gsm_map.length",
- FT_UINT8, BASE_DEC, NULL, 0,
- "Length", HFILL }},
- { &hf_gsm_map_disc_par,
- { "Discrimination parameter", "gsm_map.disc_par",
- FT_UINT8, BASE_DEC, VALS(gsm_map_disc_par_vals), 0,
- "Discrimination parameter", HFILL }},
- { &hf_gsm_map_dlci,
- { "DLCI", "gsm_map.disc_par",
- FT_UINT8, BASE_DEC, NULL, 0,
- "Data Link Connection Indicator", HFILL }},
+ { &hf_gsm_map_old_Component_PDU,
+ { "Component", "gsm_map.old.Component",
+ FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0,
+ "gsm_map.old.Component", HFILL }},
+ { &hf_gsm_map_getPassword,
+ { "getPassword", "gsm_map.getPassword",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "getPassword", HFILL }},
+ { &hf_gsm_map_currentPassword,
+ { "currentPassword", "gsm_map.currentPassword",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_gsm_map_extension,
+ { "Extension", "gsm_map.extension",
+ FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
+ "Extension", HFILL }},
+ { &hf_gsm_map_nature_of_number,
+ { "Nature of number", "gsm_map.nature_of_number",
+ FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
+ "Nature of number", HFILL }},
+ { &hf_gsm_map_number_plan,
+ { "Number plan", "gsm_map.number_plan",
+ FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
+ "Number plan", HFILL }},
+ { &hf_gsm_map_isdn_address_digits,
+ { "ISDN Address digits", "gsm_map.isdn.address.digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "ISDN Address digits", HFILL }},
+ { &hf_gsm_map_address_digits,
+ { "Address digits", "gsm_map.address.digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Address digits", HFILL }},
+ { &hf_gsm_map_servicecentreaddress_digits,
+ { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "ServiceCentreAddress digits", HFILL }},
+ { &hf_gsm_map_imsi_digits,
+ { "IMSI digits", "gsm_map.imsi_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "IMSI digits", HFILL }},
+ { &hf_gsm_map_TBCD_digits,
+ { "TBCD digits", "gsm_map.imsi_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TBCD digits", HFILL }},
+ { &hf_gsm_map_Ss_Status_unused,
+ { "Unused", "gsm_map.unused",
+ FT_UINT8, BASE_HEX, NULL, 0xf0,
+ "Unused", HFILL }},
+ { &hf_gsm_map_Ss_Status_q_bit,
+ { "Q bit", "gsm_map.ss_status_q_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
+ "Q bit", HFILL }},
+ { &hf_gsm_map_Ss_Status_p_bit,
+ { "P bit", "gsm_map.ss_status_p_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
+ "P bit", HFILL }},
+ { &hf_gsm_map_Ss_Status_r_bit,
+ { "R bit", "gsm_map.ss_status_r_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
+ "R bit", HFILL }},
+ { &hf_gsm_map_Ss_Status_a_bit,
+ { "A bit", "gsm_map.ss_status_a_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
+ "A bit", HFILL }},
+ { &hf_gsm_map_notification_to_forwarding_party,
+ { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
+ FT_BOOLEAN, 8, TFS(&notification_value), 0x80,
+ "Notification to forwarding party", HFILL }},
+ { &hf_gsm_map_redirecting_presentation,
+ { "Redirecting presentation", "gsm_map.redirecting_presentation",
+ FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
+ "Redirecting presentation", HFILL }},
+ { &hf_gsm_map_notification_to_calling_party,
+ { "Notification to calling party", "gsm_map.notification_to_clling_party",
+ FT_BOOLEAN, 8, TFS(&notification_value), 0x20,
+ "Notification to calling party", HFILL }},
+ { &hf_gsm_map_forwarding_reason,
+ { "Forwarding reason", "gsm_map.forwarding_reason",
+ FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
+ "forwarding reason", HFILL }},
+ { &hf_gsm_map_pdp_type_org,
+ { "PDP Type Organization", "gsm_map.pdp_type_org",
+ FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
+ "PDP Type Organization", HFILL }},
+ { &hf_gsm_map_etsi_pdp_type_number,
+ { "PDP Type Number", "gsm_map.pdp_type_org",
+ FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
+ "ETSI PDP Type Number", HFILL }},
+ { &hf_gsm_map_ietf_pdp_type_number,
+ { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
+ FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
+ "IETF PDP Type Number", HFILL }},
+ { &hf_gsm_map_ext_qos_subscribed_pri,
+ { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
+ FT_UINT8, BASE_DEC, NULL, 0xff,
+ "Allocation/Retention priority", HFILL }},
+ { &hf_gsm_map_qos_traffic_cls,
+ { "Traffic class", "gsm_map.qos.traffic_cls",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0xe0,
+ "Traffic class", HFILL }},
+ { &hf_gsm_map_qos_del_order,
+ { "Delivery order", "gsm_map.qos.del_order",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0x18,
+ "Delivery order", HFILL }},
+ { &hf_gsm_map_qos_del_of_err_sdu,
+ { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_del_of_err_sdu_vals), 0x03,
+ "Delivery of erroneous SDUs", HFILL }},
+ { &hf_gsm_map_qos_ber,
+ { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_ber_vals), 0xf0,
+ "Residual Bit Error Rate (BER)", HFILL }},
+ { &hf_gsm_map_qos_sdu_err_rat,
+ { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_sdu_err_rat_vals), 0x0f,
+ "SDU error ratio", HFILL }},
+ { &hf_gsm_map_qos_traff_hdl_pri,
+ { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traff_hdl_pri_vals), 0x03,
+ "Traffic handling priority", HFILL }},
+
+ { &hf_gsm_map_qos_max_sdu,
+ { "Maximum SDU size", "gsm_map.qos.max_sdu",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Maximum SDU size", HFILL }},
+ { &hf_gsm_map_max_brate_ulink,
+ { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Maximum bit rate for uplink", HFILL }},
+ { &hf_gsm_map_max_brate_dlink,
+ { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Maximum bit rate for downlink", HFILL }},
+ { &hf_gsm_map_qos_transfer_delay,
+ { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
+ FT_UINT8, BASE_DEC, NULL, 0xfc,
+ "Transfer delay", HFILL }},
+ { &hf_gsm_map_guaranteed_max_brate_ulink,
+ { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Guaranteed bit rate for uplink", HFILL }},
+ { &hf_gsm_map_guaranteed_max_brate_dlink,
+ { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Guaranteed bit rate for downlink", HFILL }},
+ { &hf_gsm_map_GSNAddress_IPv4,
+ { "GSN-Address IPv4", "gsm_map.gsnaddress_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ "IPAddress IPv4", HFILL }},
+ { &hf_gsm_map_GSNAddress_IPv6,
+ { "GSN Address IPv6", "gsm_map.gsnaddress_ipv6",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ "IPAddress IPv6", HFILL }},
+ { &hf_gsm_map_ranap_service_Handover,
+ { "service-Handover", "gsm_map.ranap.service_Handover",
+ FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0,
+ "gsm_map.ranap.Service_Handover", HFILL }},
+ { &hf_gsm_map_IntegrityProtectionInformation,
+ { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "gsm_map.ranap.IntegrityProtectionInformation", HFILL }},
+ { &hf_gsm_map_EncryptionInformation,
+ { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "gsm_map.ranap.EncryptionInformation", HFILL }},
+ { &hf_gsm_map_PlmnContainer_PDU,
+ { "PlmnContainer", "gsm_map.PlmnContainer",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "gsm_map.PlmnContainer", HFILL }},
+ { &hf_gsm_map_ss_SS_UserData,
+ { "SS-UserData", "gsm_ss.SS_UserData",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "gsm_map.ss.SS_UserData", HFILL }},
+ { &hf_gsm_map_cbs_coding_grp,
+ { "Coding Group","gsm_map.cbs.coding_grp",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_data_coding_scheme_coding_grp_vals), 0xf0,
+ "Coding Group", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp0_lang,
+ { "Language","gsm_map.cbs.coding_grp0_lang",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp0_lang_vals), 0x0f,
+ "Language", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp1_lang,
+ { "Language","gsm_map.cbs.coding_grp1_lang",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp1_lang_vals), 0x0f,
+ "Language", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp2_lang,
+ { "Language","gsm_map.cbs.coding_grp2_lang",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp2_lang_vals), 0x0f,
+ "Language", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp3_lang,
+ { "Language","gsm_map.cbs.coding_grp3_lang",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp3_lang_vals), 0x0f,
+ "Language", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_comp,
+ { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp",
+ FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20,
+ "Compressed indicator", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_class_ind,
+ { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind",
+ FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10,
+ "Message Class present", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_char_set,
+ { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c,
+ "Character set being used", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_class,
+ { "Message Class","gsm_map.cbs.coding_grp4_7_class",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03,
+ "Message Class", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp15_mess_code,
+ { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04,
+ "Message coding", HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp15_class,
+ { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03,
+ "Message Class", HFILL }
+ },
+ { &hf_gsm_map_tmsi,
+ { "tmsi", "gsm_map.tmsi",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "gsm_map.TMSI", HFILL }},
+
+ { &hf_gsm_map_ie_tag,
+ { "Tag", "gsm_map.ie_tag",
+ FT_UINT8, BASE_DEC, VALS(gsm_map_tag_vals), 0,
+ "GSM 04.08 tag", HFILL }},
+ { &hf_gsm_map_len,
+ { "Length", "gsm_map.length",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "Length", HFILL }},
+ { &hf_gsm_map_disc_par,
+ { "Discrimination parameter", "gsm_map.disc_par",
+ FT_UINT8, BASE_DEC, VALS(gsm_map_disc_par_vals), 0,
+ "Discrimination parameter", HFILL }},
+ { &hf_gsm_map_dlci,
+ { "DLCI", "gsm_map.disc_par",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "Data Link Connection Indicator", HFILL }},
#include "packet-gsm_map-hfarr.c"
};
@@ -2418,24 +2418,24 @@ void proto_register_gsm_map(void) {
&ett_gsm_map_InvokeId,
&ett_gsm_map_InvokePDU,
&ett_gsm_map_ReturnResultPDU,
- &ett_gsm_map_ReturnErrorPDU,
+ &ett_gsm_map_ReturnErrorPDU,
&ett_gsm_map_ReturnResult_result,
- &ett_gsm_map_ReturnError_result,
+ &ett_gsm_map_ReturnError_result,
&ett_gsm_map_GSMMAPPDU,
- &ett_gsm_map_ext_qos_subscribed,
- &ett_gsm_map_pdptypenumber,
- &ett_gsm_map_RAIdentity,
- &ett_gsm_map_LAIFixedLength,
- &ett_gsm_map_isdn_address_string,
- &ett_gsm_map_geo_desc,
- &ett_gsm_map_LongSignalInfo,
- &ett_gsm_map_RadioResourceInformation,
- &ett_gsm_map_MSNetworkCapability,
- &ett_gsm_map_MSRadioAccessCapability,
- &ett_gsm_map_externalsignalinfo,
- &ett_gsm_map_cbs_data_coding,
- &ett_gsm_map_GlobalCellId,
- &ett_gsm_map_GeographicalInformation,
+ &ett_gsm_map_ext_qos_subscribed,
+ &ett_gsm_map_pdptypenumber,
+ &ett_gsm_map_RAIdentity,
+ &ett_gsm_map_LAIFixedLength,
+ &ett_gsm_map_isdn_address_string,
+ &ett_gsm_map_geo_desc,
+ &ett_gsm_map_LongSignalInfo,
+ &ett_gsm_map_RadioResourceInformation,
+ &ett_gsm_map_MSNetworkCapability,
+ &ett_gsm_map_MSRadioAccessCapability,
+ &ett_gsm_map_externalsignalinfo,
+ &ett_gsm_map_cbs_data_coding,
+ &ett_gsm_map_GlobalCellId,
+ &ett_gsm_map_GeographicalInformation,
#include "packet-gsm_map-ettarr.c"
};
@@ -2464,8 +2464,6 @@ void proto_register_gsm_map(void) {
* Set default SSNs
*/
range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
- ssn_range = range_empty();
-
gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
@@ -2473,5 +2471,3 @@ void proto_register_gsm_map(void) {
"TCAP Subsystem numbers used for GSM MAP",
&global_ssn_range, MAX_SSN);
}
-
-
diff --git a/asn1/h225/packet-h225-template.c b/asn1/h225/packet-h225-template.c
index 17646e0ef7..e2d3ad9d84 100644
--- a/asn1/h225/packet-h225-template.c
+++ b/asn1/h225/packet-h225-template.c
@@ -77,8 +77,6 @@ static h225_packet_info pi_arr[5]; /* We assuming a maximum of 5 H225 messaages
static int pi_current=0;
h225_packet_info *h225_pi=&pi_arr[0];
-static dissector_handle_t h225ras_handle;
-static dissector_handle_t H323UserInformation_handle;
static dissector_handle_t data_handle;
/* Subdissector tables */
static dissector_table_t nsp_object_dissector_table;
@@ -121,7 +119,6 @@ static gboolean h225_h245_in_tree = TRUE;
static gboolean h225_tp_in_tree = TRUE;
/* Global variables */
-static guint saved_h225_tls_port;
static guint32 ipv4_address;
static guint32 ipv4_port;
guint32 T38_manufacturer_code;
@@ -151,15 +148,15 @@ dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
proto_tree *tr;
int offset = 0;
- pi_current++;
- if(pi_current==5){
- pi_current=0;
- }
- h225_pi=&pi_arr[pi_current];
+ pi_current++;
+ if(pi_current==5){
+ pi_current=0;
+ }
+ h225_pi=&pi_arr[pi_current];
/* Init struct for collecting h225_packet_info */
- reset_h225_packet_info(h225_pi);
- h225_pi->msg_type = H225_CS;
+ reset_h225_packet_info(h225_pi);
+ h225_pi->msg_type = H225_CS;
next_tvb_init(&h245_list);
next_tvb_init(&tp_list);
@@ -194,15 +191,15 @@ dissect_h225_h225_RasMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
proto_tree *tr;
guint32 offset=0;
- pi_current++;
- if(pi_current==5){
- pi_current=0;
- }
- h225_pi=&pi_arr[pi_current];
+ pi_current++;
+ if(pi_current==5){
+ pi_current=0;
+ }
+ h225_pi=&pi_arr[pi_current];
/* Init struct for collecting h225_packet_info */
- reset_h225_packet_info(h225_pi);
- h225_pi->msg_type = H225_RAS;
+ reset_h225_packet_info(h225_pi);
+ h225_pi->msg_type = H225_RAS;
if (check_col(pinfo->cinfo, COL_PROTOCOL)){
col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
@@ -304,27 +301,25 @@ void
proto_reg_handoff_h225(void)
{
static gboolean h225_prefs_initialized = FALSE;
+ static dissector_handle_t h225ras_handle;
+ static guint saved_h225_tls_port;
+
+ if (!h225_prefs_initialized) {
+ h225ras_handle=find_dissector("h225.ras");
+ dissector_add("udp.port", UDP_PORT_RAS1, h225ras_handle);
+ dissector_add("udp.port", UDP_PORT_RAS2, h225ras_handle);
+
+ h245_handle = find_dissector("h245");
+ h245dg_handle = find_dissector("h245dg");
+ h4501_handle = find_dissector("h4501");
+ data_handle = find_dissector("data");
+ h225_prefs_initialized = TRUE;
+ } else {
+ ssl_dissector_delete(saved_h225_tls_port, "q931.tpkt", TRUE);
+ }
- if (h225_prefs_initialized) {
- ssl_dissector_delete(saved_h225_tls_port, "q931.tpkt", TRUE);
- } else {
- h225_prefs_initialized = TRUE;
- }
-
- saved_h225_tls_port = h225_tls_port;
- ssl_dissector_add(saved_h225_tls_port, "q931.tpkt", TRUE);
-
- h225ras_handle=new_create_dissector_handle(dissect_h225_h225_RasMessage, proto_h225);
- dissector_add("udp.port", UDP_PORT_RAS1, h225ras_handle);
- dissector_add("udp.port", UDP_PORT_RAS2, h225ras_handle);
-
- H323UserInformation_handle=find_dissector("h323ui");
-
- h245_handle = find_dissector("h245");
- h245dg_handle = find_dissector("h245dg");
- h4501_handle = find_dissector("h4501");
- data_handle = find_dissector("data");
-
+ saved_h225_tls_port = h225_tls_port;
+ ssl_dissector_add(saved_h225_tls_port, "q931.tpkt", TRUE);
}
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c
index df56e28ace..657ba60b6b 100644
--- a/asn1/ranap/packet-ranap-template.c
+++ b/asn1/ranap/packet-ranap-template.c
@@ -60,8 +60,6 @@
#include "packet-ranap-val.h"
-static dissector_handle_t ranap_handle = NULL;
-
/* Initialize the protocol and registered fields */
static int proto_ranap = -1;
@@ -237,7 +235,6 @@ void proto_register_ranap(void) {
/* Register dissector */
register_dissector("ranap", dissect_ranap, proto_ranap);
- ranap_handle = find_dissector("ranap");
/* Register dissector tables */
ranap_ies_dissector_table = register_dissector_table("ranap.ies", "RANAP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
@@ -262,11 +259,14 @@ void proto_register_ranap(void) {
void
proto_reg_handoff_ranap(void)
{
- static int initialized = FALSE;
+ static gboolean initialized = FALSE;
+ static dissector_handle_t ranap_handle;
static gint local_ranap_sccp_ssn;
if (!initialized) {
+ ranap_handle = find_dissector("ranap");
initialized = TRUE;
+#include "packet-ranap-dis-tab.c"
} else {
dissector_delete("sccp.ssn", local_ranap_sccp_ssn, ranap_handle);
}
@@ -274,7 +274,6 @@ proto_reg_handoff_ranap(void)
dissector_add("sccp.ssn", global_ranap_sccp_ssn, ranap_handle);
local_ranap_sccp_ssn = global_ranap_sccp_ssn;
-#include "packet-ranap-dis-tab.c"
}
diff --git a/asn1/s1ap/packet-s1ap-template.c b/asn1/s1ap/packet-s1ap-template.c
index 46839ff1f1..a9efbdb011 100644
--- a/asn1/s1ap/packet-s1ap-template.c
+++ b/asn1/s1ap/packet-s1ap-template.c
@@ -62,8 +62,6 @@
#include "packet-s1ap-val.h"
-static dissector_handle_t s1ap_handle = NULL;
-
/* Initialize the protocol and registered fields */
static int proto_s1ap = -1;
@@ -159,11 +157,14 @@ dissect_s1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
void
proto_reg_handoff_s1ap(void)
{
- static int Initialized=FALSE;
- static int SctpPort=0;
+ static gboolean Initialized=FALSE;
+ static dissector_handle_t s1ap_handle;
+ static guint SctpPort;
if (!Initialized) {
+ s1ap_handle = find_dissector("s1ap");
Initialized=TRUE;
+#include "packet-s1ap-dis-tab.c"
} else {
dissector_delete("sctp.port", SctpPort, s1ap_handle);
}
@@ -171,7 +172,6 @@ proto_reg_handoff_s1ap(void)
SctpPort=gbl_s1apSctpPort;
dissector_add("sctp.port", SctpPort, s1ap_handle);
-#include "packet-s1ap-dis-tab.c"
}
/*--- proto_register_s1ap -------------------------------------------*/
@@ -200,7 +200,6 @@ void proto_register_s1ap(void) {
/* Register dissector */
register_dissector("s1ap", dissect_s1ap, proto_s1ap);
- s1ap_handle = find_dissector("s1ap");
/* Register dissector tables */
s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
@@ -211,15 +210,14 @@ void proto_register_s1ap(void) {
s1ap_proc_sout_dissector_table = register_dissector_table("s1ap.proc.sout", "S1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC);
s1ap_proc_uout_dissector_table = register_dissector_table("s1ap.proc.uout", "S1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC);
- /* Register configuration options for ports */
- s1ap_module = prefs_register_protocol(proto_s1ap,
- proto_reg_handoff_s1ap);
-
- prefs_register_uint_preference(s1ap_module, "sctp.port",
- "S1AP SCTP Port",
- "Set the SCTP port for S1AP messages",
- 10,
- &gbl_s1apSctpPort);
+ /* Register configuration options for ports */
+ s1ap_module = prefs_register_protocol(proto_s1ap, proto_reg_handoff_s1ap);
+
+ prefs_register_uint_preference(s1ap_module, "sctp.port",
+ "S1AP SCTP Port",
+ "Set the SCTP port for S1AP messages",
+ 10,
+ &gbl_s1apSctpPort);
}
diff --git a/asn1/sabp/packet-sabp-template.c b/asn1/sabp/packet-sabp-template.c
index c70e4eb8b9..5fcca687e2 100644
--- a/asn1/sabp/packet-sabp-template.c
+++ b/asn1/sabp/packet-sabp-template.c
@@ -56,9 +56,6 @@
#include "packet-sabp-val.h"
-static dissector_handle_t sabp_handle = NULL;
-static dissector_handle_t sabp_tcp_handle = NULL;
-
/* Initialize the protocol and registered fields */
static int proto_sabp = -1;
@@ -200,8 +197,6 @@ void proto_register_sabp(void) {
/* Register dissector */
register_dissector("sabp", dissect_sabp, proto_sabp);
register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp);
- sabp_handle = find_dissector("sabp");
- sabp_tcp_handle = find_dissector("sabp.tcp");
/* Register dissector tables */
sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
@@ -217,14 +212,16 @@ void proto_register_sabp(void) {
void
proto_reg_handoff_sabp(void)
{
+ dissector_handle_t sabp_handle;
+ dissector_handle_t sabp_tcp_handle;
+ sabp_handle = find_dissector("sabp");
+ sabp_tcp_handle = find_dissector("sabp.tcp");
+ dissector_add("udp.port", 3452, sabp_handle);
+ dissector_add("tcp.port", 3452, sabp_tcp_handle);
#include "packet-sabp-dis-tab.c"
- sabp_handle = find_dissector("sabp");
- dissector_add("tcp.port", 3452, sabp_tcp_handle);
- dissector_add("udp.port", 3452, sabp_handle);
- dissector_add_handle("tcp.port", sabp_tcp_handle);
}
diff --git a/asn1/ulp/packet-ulp-template.c b/asn1/ulp/packet-ulp-template.c
index 6524e3d90c..5e780729df 100644
--- a/asn1/ulp/packet-ulp-template.c
+++ b/asn1/ulp/packet-ulp-template.c
@@ -48,14 +48,13 @@
#define PSNAME "ULP"
#define PFNAME "ulp"
-static dissector_handle_t ulp_handle = NULL;
-static dissector_handle_t rrlp_handle = NULL;
+static dissector_handle_t rrlp_handle;
/* IANA Registered Ports
* oma-ulp 7275/tcp OMA UserPlane Location
* oma-ulp 7275/udp OMA UserPlane Location
*/
-guint gbl_ulp_port = 7275;
+static guint gbl_ulp_port = 7275;
/* Initialize the protocol and registered fields */
static int proto_ulp = -1;
@@ -128,12 +127,12 @@ void proto_register_ulp(void) {
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&ulp_desegment);
- /* Register a configuration option for port */
- prefs_register_uint_preference(ulp_module, "tcp.port",
- "ULP TCP Port",
- "Set the TCP port for Ulp messages(IANA registerd port is 7275)",
- 10,
- &gbl_ulp_port);
+ /* Register a configuration option for port */
+ prefs_register_uint_preference(ulp_module, "tcp.port",
+ "ULP TCP Port",
+ "Set the TCP port for Ulp messages(IANA registerd port is 7275)",
+ 10,
+ &gbl_ulp_port);
}
@@ -142,15 +141,23 @@ void proto_register_ulp(void) {
void
proto_reg_handoff_ulp(void)
{
-
- ulp_handle = create_dissector_handle(dissect_ulp_tcp, proto_ulp);
-
+ static gboolean initialized = FALSE;
+ static dissector_handle_t ulp_handle;
+ static guint local_ulp_port;
+
+ if (!initialized) {
+ ulp_handle = find_dissector("ulp");
+ dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle);
+ rrlp_handle = find_dissector("rrlp");
+ initialized = TRUE;
+ } else {
+ dissector_delete("tcp.port", local_ulp_port, ulp_handle);
+ }
+
+ local_ulp_port = gbl_ulp_port;
dissector_add("tcp.port", gbl_ulp_port, ulp_handle);
/* application/oma-supl-ulp */
- dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle);
-
- rrlp_handle = find_dissector("rrlp");
}