forked from osmocom/wireshark
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
This commit is contained in:
parent
92a9b695a4
commit
017f36d61b
|
@ -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(¬ification_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(¬ification_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(¬ification_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(¬ification_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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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) {
|
||||
ssl_dissector_delete(saved_h225_tls_port, "q931.tpkt", TRUE);
|
||||
} else {
|
||||
h225_prefs_initialized = TRUE;
|
||||
}
|
||||
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);
|
||||
|
||||
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");
|
||||
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);
|
||||
}
|
||||
|
||||
saved_h225_tls_port = h225_tls_port;
|
||||
ssl_dissector_add(saved_h225_tls_port, "q931.tpkt", TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
/* 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);
|
||||
prefs_register_uint_preference(s1ap_module, "sctp.port",
|
||||
"S1AP SCTP Port",
|
||||
"Set the SCTP port for S1AP messages",
|
||||
10,
|
||||
&gbl_s1apSctpPort);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
static gboolean initialized = FALSE;
|
||||
static dissector_handle_t ulp_handle;
|
||||
static guint local_ulp_port;
|
||||
|
||||
ulp_handle = create_dissector_handle(dissect_ulp_tcp, proto_ulp);
|
||||
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");
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue