GSM_MAP: adding dissector for sendParameters (MAPv1)
The current ASN.1 description of MAP (3GPP 29.002) is missing this operation. I recovered the needed code from an old MAP description (ets_300599e01p) and integrated the missing parts into the asn tree and C template file (via asn2wrs). Change-Id: Ibe05e6a99f3f95ac66740b5d319a7200fdb3e54b Reviewed-on: https://code.wireshark.org/review/9594 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
b467f1c211
commit
5b856134f6
|
@ -26,7 +26,8 @@ IMPORTS
|
|||
LMSI,
|
||||
ProtocolId,
|
||||
SignalInfo,
|
||||
TeleserviceCode
|
||||
TeleserviceCode,
|
||||
SubscriberIdentity
|
||||
FROM MAP-CommonDataTypes {
|
||||
itu-t identified-organization (4) etsi (0) mobileDomain (0)
|
||||
gsm-Network (1) modules (3) map-CommonDataTypes (18) version11 (11)}
|
||||
|
@ -43,7 +44,9 @@ FROM MAP-CH-DataTypes {
|
|||
itu-t identified-organization (4) etsi (0) mobileDomain (0)
|
||||
gsm-Network (1) modules (3) map-CH-DataTypes (13) version11 (11)}
|
||||
|
||||
CUG-Interlock
|
||||
CUG-Interlock,
|
||||
SubscriberData,
|
||||
AuthenticationSetList
|
||||
FROM MAP-MS-DataTypes {
|
||||
itu-t identified-organization (4) etsi (0) mobileDomain (0)
|
||||
gsm-Network (1) modules (3) map-MS-DataTypes (11) version15 (15)}
|
||||
|
@ -679,6 +682,48 @@ RoutingInfoForSM-ArgV1 ::= SEQUENCE {
|
|||
--correlationID [15] CorrelationID OPTIONAL
|
||||
}
|
||||
|
||||
Ki ::= OCTET STRING (SIZE (16))
|
||||
|
||||
SendParametersArg ::= SEQUENCE {
|
||||
subscriberId SubscriberIdentity,
|
||||
requestParameterList RequestParameterList}
|
||||
|
||||
RequestParameter ::= ENUMERATED {
|
||||
requestIMSI (0),
|
||||
requestAuthenticationSet (1),
|
||||
requestSubscriberData (2),
|
||||
requestKi (4)}
|
||||
|
||||
RequestParameterList ::= SEQUENCE SIZE (1..2) OF
|
||||
RequestParameter
|
||||
|
||||
SentParameter ::= CHOICE {
|
||||
imsi [0] IMSI,
|
||||
authenticationSet [1] AuthenticationSetList,
|
||||
subscriberData [2] SubscriberData,
|
||||
ki [4] Ki}
|
||||
|
||||
maxNumOfSentParameter INTEGER ::= 6
|
||||
-- This NamedValue corresponds to the maximum number of
|
||||
-- authentication set which may be returned by a HLR plus 1
|
||||
|
||||
SentParameterList ::= SEQUENCE SIZE (1..maxNumOfSentParameter) OF
|
||||
SentParameter
|
||||
|
||||
|
||||
sendParameters OPERATION ::= {
|
||||
ARGUMENT
|
||||
SendParametersArg
|
||||
RESULT
|
||||
SentParameterList
|
||||
-- optional
|
||||
-- nothing is returned, if no requested parameter is
|
||||
-- available or exists
|
||||
ERRORS {
|
||||
UnexpectedDataValue,
|
||||
UnknownSubscriber,
|
||||
UnidentifiedSubscriber}
|
||||
CODE local:9 }
|
||||
|
||||
END
|
||||
|
||||
|
|
|
@ -159,8 +159,9 @@ NoteMM-EventArg,
|
|||
-- VGCS / VBS types types
|
||||
GroupId,
|
||||
Long-GroupId,
|
||||
AdditionalSubscriptions
|
||||
|
||||
AdditionalSubscriptions,
|
||||
-- WS adittion
|
||||
AuthenticationSetList
|
||||
;
|
||||
|
||||
IMPORTS
|
||||
|
|
|
@ -39,8 +39,6 @@ DummyMAP gsm_old
|
|||
EricssonMAP gsm_map.ericsson
|
||||
|
||||
Remote-Operations-Information-Objects ROS
|
||||
#.NO_EMIT
|
||||
SubscriberData
|
||||
|
||||
#.NO_EMIT ONLY_VALS
|
||||
CallBarredParam
|
||||
|
|
|
@ -1018,8 +1018,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
|
|||
case 8: /*deleteSubscriberData*/
|
||||
offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
/* TODO find out why this isn't in the ASN1 file */
|
||||
/* reserved sendParameters (9) */
|
||||
case 9: /*sendParameters*/
|
||||
offset = dissect_gsm_old_SendParametersArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
case 10: /*registerSS*/
|
||||
offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
|
@ -1388,11 +1389,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
|
|||
case 8: /*deleteSubscriberData*/
|
||||
offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
/* TODO find out why this isn't in the ASN1 file
|
||||
case 9: sendParameters
|
||||
offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
case 9: /*sendParameters*/
|
||||
offset = dissect_gsm_old_SentParameterList(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
*/
|
||||
case 10: /*registerSS*/
|
||||
offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
|
|
|
@ -1673,6 +1673,13 @@ static int hf_gsm_old_msisdn_02 = -1; /* AddressString */
|
|||
static int hf_gsm_old_sm_RP_PRI = -1; /* BOOLEAN */
|
||||
static int hf_gsm_old_serviceCentreAddress = -1; /* AddressString */
|
||||
static int hf_gsm_old_cug_Interlock = -1; /* CUG_Interlock */
|
||||
static int hf_gsm_old_subscriberId = -1; /* SubscriberIdentity */
|
||||
static int hf_gsm_old_requestParameterList = -1; /* RequestParameterList */
|
||||
static int hf_gsm_old_RequestParameterList_item = -1; /* RequestParameter */
|
||||
static int hf_gsm_old_authenticationSet = -1; /* AuthenticationSetList */
|
||||
static int hf_gsm_old_subscriberData = -1; /* SubscriberData */
|
||||
static int hf_gsm_old_ki = -1; /* Ki */
|
||||
static int hf_gsm_old_SentParameterList_item = -1; /* SentParameter */
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -2500,6 +2507,10 @@ static gint ett_gsm_old_SendRoutingInfoArgV2 = -1;
|
|||
static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
|
||||
static gint ett_gsm_old_BeginSubscriberActivityArg = -1;
|
||||
static gint ett_gsm_old_RoutingInfoForSM_ArgV1 = -1;
|
||||
static gint ett_gsm_old_SendParametersArg = -1;
|
||||
static gint ett_gsm_old_RequestParameterList = -1;
|
||||
static gint ett_gsm_old_SentParameter = -1;
|
||||
static gint ett_gsm_old_SentParameterList = -1;
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -3316,7 +3327,7 @@ dissect_gsm_map_Ext_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
|
|||
|
||||
static int
|
||||
dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 229 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 227 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
|
||||
|
||||
actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
|
||||
|
@ -3330,7 +3341,7 @@ dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
|
||||
static int
|
||||
dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 233 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 231 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
proto_tree *ext_tree;
|
||||
ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gsm_map_extention_data, NULL, "Extension Data");
|
||||
if (actx->external.direct_ref_present){
|
||||
|
@ -3446,7 +3457,7 @@ dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *t
|
|||
|
||||
int
|
||||
dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 275 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 273 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
const char *digit_str;
|
||||
proto_tree *subtree;
|
||||
|
@ -3483,7 +3494,7 @@ dissect_gsm_map_DiameterIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
|
|||
|
||||
int
|
||||
dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 247 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 245 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
@ -3553,7 +3564,7 @@ dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
|
|||
|
||||
static int
|
||||
dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 382 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 380 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
|
@ -3577,7 +3588,7 @@ static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = {
|
|||
|
||||
int
|
||||
dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 810 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 808 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
/*
|
||||
-- Information about the internal structure is given in
|
||||
-- clause 7.6.9.
|
||||
|
@ -3717,7 +3728,7 @@ dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
|
||||
static int
|
||||
dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 298 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 296 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint8 octet;
|
||||
|
@ -3796,7 +3807,7 @@ dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
|
|||
|
||||
int
|
||||
dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 633 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 631 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint8 octet;
|
||||
|
@ -3841,7 +3852,7 @@ dissect_gsm_map_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
|
|||
|
||||
int
|
||||
dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 260 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 258 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb);
|
||||
|
@ -3962,7 +3973,7 @@ dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
|
|||
|
||||
int
|
||||
dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 892 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 890 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
||||
|
@ -4239,7 +4250,7 @@ dissect_gsm_map_TA_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
|
|||
|
||||
int
|
||||
dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 657 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 655 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
@ -4287,7 +4298,7 @@ dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_
|
|||
|
||||
int
|
||||
dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 669 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 667 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
@ -4413,7 +4424,7 @@ dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
|
|||
|
||||
static int
|
||||
dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 509 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 507 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
/* Note Ext-SS-Status can have more than one byte */
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
@ -4546,7 +4557,7 @@ dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
|
|||
|
||||
int
|
||||
dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 489 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 487 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint8 octet;
|
||||
|
@ -4580,7 +4591,7 @@ dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U
|
|||
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
||||
#line 576 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 574 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
|
||||
|
@ -4899,7 +4910,7 @@ dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U
|
|||
|
||||
int
|
||||
dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 532 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 530 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
/*The structure of the USSD-DataCodingScheme is defined by
|
||||
* the Cell Broadcast Data Coding Scheme as described in
|
||||
* TS 3GPP TS 23.038
|
||||
|
@ -4925,7 +4936,7 @@ dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tv
|
|||
|
||||
int
|
||||
dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 547 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 545 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint length;
|
||||
|
@ -5376,7 +5387,7 @@ static const ber_sequence_t gsm_map_er_SM_DeliveryFailureCause_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_er_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 389 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 387 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
guint8 oct;
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6307,7 +6318,7 @@ dissect_gsm_map_sm_RoutingInfoForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 358 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 356 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -6321,7 +6332,7 @@ dissect_gsm_map_sm_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 362 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 360 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -6335,7 +6346,7 @@ dissect_gsm_map_sm_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 378 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 376 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
||||
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -6375,7 +6386,7 @@ dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 370 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 368 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
||||
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -6389,7 +6400,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 346 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 344 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -6454,7 +6465,7 @@ static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Arg_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 417 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 415 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6482,7 +6493,7 @@ static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Res_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MO_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 429 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 427 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6517,7 +6528,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Arg_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 441 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 439 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6545,7 +6556,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Res_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MT_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 453 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 451 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6719,7 +6730,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 465 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 463 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -6776,7 +6787,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 477 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 475 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -8155,7 +8166,7 @@ dissect_gsm_map_ms_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 953 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 951 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
const char *digit_str;
|
||||
|
@ -8839,7 +8850,7 @@ dissect_gsm_map_ms_SGSN_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_APN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 926 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 924 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
int length, name_len, tmp;
|
||||
|
@ -9090,7 +9101,7 @@ dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tv
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 705 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 703 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
|
||||
|
@ -9113,7 +9124,7 @@ dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvb
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 717 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 715 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
|
||||
|
@ -9198,7 +9209,7 @@ dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *t
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 681 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 679 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
||||
|
@ -9269,7 +9280,7 @@ dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *t
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 693 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 691 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
|
||||
|
@ -10204,7 +10215,7 @@ static int
|
|||
dissect_gsm_map_ms_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
#line 582 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 580 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
|
||||
|
@ -11367,7 +11378,7 @@ dissect_gsm_map_ms_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 590 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 588 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
guint8 pdp_type_org;
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
|
@ -11400,7 +11411,7 @@ dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
|
|||
|
||||
int
|
||||
dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 612 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 610 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
@ -11422,7 +11433,7 @@ dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
|
|||
|
||||
int
|
||||
dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 623 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 621 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
|
@ -12402,6 +12413,30 @@ dissect_gsm_map_ms_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *
|
|||
}
|
||||
|
||||
|
||||
static const ber_sequence_t gsm_map_ms_SubscriberData_sequence[] = {
|
||||
{ &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
|
||||
{ &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
|
||||
{ &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus },
|
||||
{ &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
|
||||
{ &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
|
||||
{ &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList },
|
||||
{ &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
|
||||
{ &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
|
||||
{ &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
|
||||
{ &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList },
|
||||
{ &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList },
|
||||
{ &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo },
|
||||
{ NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_gsm_map_ms_SubscriberData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
gsm_map_ms_SubscriberData_sequence, hf_index, ett_gsm_map_ms_SubscriberData);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const value_string gsm_map_ms_RegionalSubscriptionResponse_vals[] = {
|
||||
{ 0, "networkNode-AreaRestricted" },
|
||||
|
@ -15617,7 +15652,7 @@ dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvb
|
|||
|
||||
int
|
||||
dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 904 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 902 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
||||
|
@ -16603,7 +16638,7 @@ static value_string_ext gsm_old_GSMMAPOperationLocalvalue_vals_ext = VALUE_STRIN
|
|||
|
||||
static int
|
||||
dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 214 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 212 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
const char *opcode_string;
|
||||
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
|
@ -16663,7 +16698,7 @@ dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
|
|||
|
||||
static int
|
||||
dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 201 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 199 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
offset = dissect_invokeData(tree, tvb, offset, actx);
|
||||
|
||||
|
||||
|
@ -16692,7 +16727,7 @@ dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
|
||||
static int
|
||||
dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 204 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 202 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
offset = dissect_returnResultData(tree, tvb, offset, actx);
|
||||
|
||||
|
||||
|
@ -16839,7 +16874,7 @@ dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
|
|||
|
||||
static int
|
||||
dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 207 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 205 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
offset = dissect_returnErrorData(tree, tvb, offset, actx);
|
||||
|
||||
|
||||
|
@ -17048,7 +17083,7 @@ static const ber_sequence_t gsm_old_Bss_APDU_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_old_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 730 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 728 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
guint8 octet;
|
||||
guint8 length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
@ -17633,7 +17668,7 @@ dissect_gsm_old_PlmnContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
|
|||
|
||||
static int
|
||||
dissect_gsm_old_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 350 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 348 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -17647,7 +17682,7 @@ dissect_gsm_old_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
|
||||
static int
|
||||
dissect_gsm_old_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 354 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 352 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -17661,7 +17696,7 @@ dissect_gsm_old_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
|
||||
static int
|
||||
dissect_gsm_old_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 374 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 372 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
||||
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -17701,7 +17736,7 @@ dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
|
|||
|
||||
static int
|
||||
dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 366 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 364 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
||||
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -17715,7 +17750,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
|
|||
|
||||
static int
|
||||
dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 342 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 340 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
actx->pinfo->p2p_dir = P2P_DIR_SENT;
|
||||
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -17760,7 +17795,7 @@ static const ber_sequence_t gsm_old_ForwardSM_Arg_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 401 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 399 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
|
||||
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
|
@ -17860,6 +17895,101 @@ dissect_gsm_old_RoutingInfoForSM_ArgV1(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
dissect_gsm_old_Ki(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const value_string gsm_old_RequestParameter_vals[] = {
|
||||
{ 0, "requestIMSI" },
|
||||
{ 1, "requestAuthenticationSet" },
|
||||
{ 2, "requestSubscriberData" },
|
||||
{ 4, "requestKi" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
|
||||
static int
|
||||
dissect_gsm_old_RequestParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const ber_sequence_t gsm_old_RequestParameterList_sequence_of[1] = {
|
||||
{ &hf_gsm_old_RequestParameterList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RequestParameter },
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_gsm_old_RequestParameterList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
|
||||
gsm_old_RequestParameterList_sequence_of, hf_index, ett_gsm_old_RequestParameterList);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const ber_sequence_t gsm_old_SendParametersArg_sequence[] = {
|
||||
{ &hf_gsm_old_subscriberId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SubscriberIdentity },
|
||||
{ &hf_gsm_old_requestParameterList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RequestParameterList },
|
||||
{ NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_gsm_old_SendParametersArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
|
||||
gsm_old_SendParametersArg_sequence, hf_index, ett_gsm_old_SendParametersArg);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const value_string gsm_old_SentParameter_vals[] = {
|
||||
{ 0, "imsi" },
|
||||
{ 1, "authenticationSet" },
|
||||
{ 2, "subscriberData" },
|
||||
{ 4, "ki" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static const ber_choice_t gsm_old_SentParameter_choice[] = {
|
||||
{ 0, &hf_gsm_old_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
|
||||
{ 1, &hf_gsm_old_authenticationSet, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AuthenticationSetList },
|
||||
{ 2, &hf_gsm_old_subscriberData, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberData },
|
||||
{ 4, &hf_gsm_old_ki , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_Ki },
|
||||
{ 0, NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_gsm_old_SentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_choice(actx, tree, tvb, offset,
|
||||
gsm_old_SentParameter_choice, hf_index, ett_gsm_old_SentParameter,
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const ber_sequence_t gsm_old_SentParameterList_sequence_of[1] = {
|
||||
{ &hf_gsm_old_SentParameterList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SentParameter },
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_gsm_old_SentParameterList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
|
||||
gsm_old_SentParameterList_sequence_of, hf_index, ett_gsm_old_SentParameterList);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
||||
|
@ -18631,7 +18761,7 @@ dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(gboolean implicit_tag _U_, tv
|
|||
|
||||
static int
|
||||
dissect_gsm_map_ericsson_T_locationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 982 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
#line 980 "../../asn1/gsm_map/gsm_map.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
guint8 rat;
|
||||
|
@ -20464,7 +20594,7 @@ const value_string gsm_map_opr_code_strings[] = {
|
|||
|
||||
/* --- Module DummyMAP --- --- --- */
|
||||
|
||||
/* Unknown or empty loop list OPERATION */
|
||||
{ 9, "sendParameters" },
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -20681,7 +20811,7 @@ static const value_string gsm_map_err_code_string_vals[] = {
|
|||
|
||||
/* --- Module DummyMAP --- --- --- */
|
||||
|
||||
/* Unknown or empty loop list OPERATION */
|
||||
{ 9, "sendParameters" },
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -20895,8 +21025,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
|
|||
case 8: /*deleteSubscriberData*/
|
||||
offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
/* TODO find out why this isn't in the ASN1 file */
|
||||
/* reserved sendParameters (9) */
|
||||
case 9: /*sendParameters*/
|
||||
offset = dissect_gsm_old_SendParametersArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
case 10: /*registerSS*/
|
||||
offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
|
@ -21265,11 +21396,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
|
|||
case 8: /*deleteSubscriberData*/
|
||||
offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
/* TODO find out why this isn't in the ASN1 file
|
||||
case 9: sendParameters
|
||||
offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
|
||||
case 9: /*sendParameters*/
|
||||
offset = dissect_gsm_old_SentParameterList(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
*/
|
||||
case 10: /*registerSS*/
|
||||
offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
|
||||
break;
|
||||
|
@ -28712,6 +28841,34 @@ void proto_register_gsm_map(void) {
|
|||
{ "cug-Interlock", "gsm_old.cug_Interlock",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_gsm_old_subscriberId,
|
||||
{ "subscriberId", "gsm_old.subscriberId",
|
||||
FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
|
||||
"SubscriberIdentity", HFILL }},
|
||||
{ &hf_gsm_old_requestParameterList,
|
||||
{ "requestParameterList", "gsm_old.requestParameterList",
|
||||
FT_UINT32, BASE_DEC, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_gsm_old_RequestParameterList_item,
|
||||
{ "RequestParameter", "gsm_old.RequestParameter",
|
||||
FT_UINT32, BASE_DEC, VALS(gsm_old_RequestParameter_vals), 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_gsm_old_authenticationSet,
|
||||
{ "authenticationSet", "gsm_old.authenticationSet",
|
||||
FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AuthenticationSetList_vals), 0,
|
||||
"AuthenticationSetList", HFILL }},
|
||||
{ &hf_gsm_old_subscriberData,
|
||||
{ "subscriberData", "gsm_old.subscriberData_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_gsm_old_ki,
|
||||
{ "ki", "gsm_old.ki",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_gsm_old_SentParameterList_item,
|
||||
{ "SentParameter", "gsm_old.SentParameter",
|
||||
FT_UINT32, BASE_DEC, VALS(gsm_old_SentParameter_vals), 0,
|
||||
NULL, HFILL }},
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -29547,7 +29704,7 @@ void proto_register_gsm_map(void) {
|
|||
NULL, HFILL }},
|
||||
|
||||
/*--- End of included file: packet-gsm_map-hfarr.c ---*/
|
||||
#line 2904 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
#line 2903 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
};
|
||||
|
||||
/* List of subtrees */
|
||||
|
@ -30158,6 +30315,10 @@ void proto_register_gsm_map(void) {
|
|||
&ett_gsm_old_SendRoutingInfoResV2,
|
||||
&ett_gsm_old_BeginSubscriberActivityArg,
|
||||
&ett_gsm_old_RoutingInfoForSM_ArgV1,
|
||||
&ett_gsm_old_SendParametersArg,
|
||||
&ett_gsm_old_RequestParameterList,
|
||||
&ett_gsm_old_SentParameter,
|
||||
&ett_gsm_old_SentParameterList,
|
||||
|
||||
/* --- Module SS-DataTypes --- --- --- */
|
||||
|
||||
|
@ -30258,7 +30419,7 @@ void proto_register_gsm_map(void) {
|
|||
&ett_NokiaMAP_Extensions_AllowedServiceData,
|
||||
|
||||
/*--- End of included file: packet-gsm_map-ettarr.c ---*/
|
||||
#line 2938 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
#line 2937 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
};
|
||||
|
||||
static ei_register_info ei[] = {
|
||||
|
@ -30362,7 +30523,7 @@ void proto_register_gsm_map(void) {
|
|||
|
||||
|
||||
/*--- End of included file: packet-gsm_map-dis-tab.c ---*/
|
||||
#line 2976 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
#line 2975 "../../asn1/gsm_map/packet-gsm_map-template.c"
|
||||
oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
|
||||
oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
|
||||
/*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );
|
||||
|
|
Loading…
Reference in New Issue