From Vasil Velichkov (bug 2471):

Add ASN definition of MAP BeginSubscriberActivity operation.
Add call to dissect function in packet template.

svn path=/trunk/; revision=25094
This commit is contained in:
Stig Bjørlykke 2008-04-17 07:47:02 +00:00
parent 51baf7769a
commit ae93228212
4 changed files with 58 additions and 6 deletions

View File

@ -38,6 +38,7 @@ maxSignalInfoLength,
ISDN-AddressString,
ISDN-SubaddressString,
AlertingPattern,
IMSI,
LCSClientExternalID,
AddressString,
LCSServiceTypeID,
@ -90,6 +91,13 @@ NotifySS-Arg ::= SEQUENCE{
alertingPattern [22] AlertingPattern OPTIONAL,
multicall-Indicator [23] Multicall-Indicator OPTIONAL}
BeginSubscriberActivityArg ::= SEQUENCE {
imsi IMSI,
originatingEntityNumber ISDN-AddressString,
msisdn [PRIVATE 28] AddressString OPTIONAL,
... }
-- The nameIndicator is defined because of CNAP.
Multicall-Indicator ::= ENUMERATED {

View File

@ -14,7 +14,7 @@ EXPORTS
-- exports operations
-- operations defined in this specification
processUnstructuredSS-Data, notifySS, forwardChargeAdvice, forwardCUG-Info, buildMPTY, holdMPTY, retrieveMPTY, splitMPTY, explicitCT, accessRegisterCCEntry, callDeflection, userUserService,
processUnstructuredSS-Data, beginSubscriberActivity, notifySS, forwardChargeAdvice, forwardCUG-Info, buildMPTY, holdMPTY, retrieveMPTY, splitMPTY, explicitCT, accessRegisterCCEntry, callDeflection, userUserService,
lcs-LocationNotification, lcs-MOLR, lcs-AreaEventRequest, lcs-AreaEventReport, lcs-AreaEventCancellation, lcs-PeriodicLocationRequest, lcs-LocationUpdate, lcs-PeriodicLocationCancellation;
IMPORTS
@ -32,6 +32,7 @@ Remote-Operations-Information-Objects {
-- imports SS-data types
NotifySS-Arg,
BeginSubscriberActivityArg,
ForwardChargeAdviceArg,
ForwardCUG-InfoArg,
SS-UserData,
@ -87,6 +88,10 @@ processUnstructuredSS-Data OPERATION ::= { -- Timer T(PUSSD)= 15s to 30s
unexpectedDataValue}
CODE local:19 }
beginSubscriberActivity OPERATION ::= {
ARGUMENT BeginSubscriberActivityArg
CODE local:54 }
notifySS OPERATION ::= {
ARGUMENT NotifySS-Arg
CODE local:16 }

View File

@ -1201,7 +1201,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
break;
/* reserved traceSubscriberActivity (52) */
/* undefined 53 */
/* reserved beginSubscriberActivity (54) */
case 54: /*beginSubscriberActivity*/
offset=dissect_gsm_ss_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
break;
case 55: /*sendIdentification*/
offset=dissect_mc_message(tvb, offset, actx, tree,
FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,

View File

@ -1327,6 +1327,9 @@ static int hf_gsm_ss_nameIndicator = -1; /* NameIndicator */
static int hf_gsm_ss_ccbs_Feature = -1; /* CCBS_Feature */
static int hf_gsm_ss_alertingPattern = -1; /* AlertingPattern */
static int hf_gsm_ss_multicall_Indicator = -1; /* Multicall_Indicator */
static int hf_gsm_ss_imsi = -1; /* IMSI */
static int hf_gsm_ss_originatingEntityNumber = -1; /* ISDN_AddressString */
static int hf_gsm_ss_msisdn = -1; /* AddressString */
static int hf_gsm_ss_chargingInformation = -1; /* ChargingInformation */
static int hf_gsm_ss_e1 = -1; /* E1 */
static int hf_gsm_ss_e2 = -1; /* E2 */
@ -1947,6 +1950,7 @@ static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
/* --- Module SS-DataTypes --- --- --- */
static gint ett_gsm_ss_NotifySS_Arg = -1;
static gint ett_gsm_ss_BeginSubscriberActivityArg = -1;
static gint ett_gsm_ss_ForwardChargeAdviceArg = -1;
static gint ett_gsm_ss_ChargingInformation = -1;
static gint ett_gsm_ss_ForwardCUG_InfoArg = -1;
@ -15094,6 +15098,22 @@ dissect_gsm_ss_NotifySS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
static const ber_sequence_t gsm_ss_BeginSubscriberActivityArg_sequence[] = {
{ &hf_gsm_ss_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
{ &hf_gsm_ss_originatingEntityNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
{ &hf_gsm_ss_msisdn , BER_CLASS_PRI, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gsm_ss_BeginSubscriberActivityArg(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_ss_BeginSubscriberActivityArg_sequence, hf_index, ett_gsm_ss_BeginSubscriberActivityArg);
return offset;
}
static int
dissect_gsm_ss_E1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@ -15798,6 +15818,7 @@ const value_string gsm_map_opr_code_strings[] = {
/* --- Module SS-Operations --- --- --- */
{ 19, "processUnstructuredSS_Data" },
{ 54, "beginSubscriberActivity" },
{ 16, "notifySS" },
{ 125, "forwardChargeAdvice" },
{ 120, "forwardCUG_Info" },
@ -16003,6 +16024,7 @@ static const value_string gsm_map_err_code_string_vals[] = {
/* --- Module SS-Operations --- --- --- */
{ 19, "processUnstructuredSS_Data" },
{ 54, "beginSubscriberActivity" },
{ 16, "notifySS" },
{ 125, "forwardChargeAdvice" },
{ 120, "forwardCUG_Info" },
@ -16343,7 +16365,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
break;
/* reserved traceSubscriberActivity (52) */
/* undefined 53 */
/* reserved beginSubscriberActivity (54) */
case 54: /*beginSubscriberActivity*/
offset=dissect_gsm_ss_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
break;
case 55: /*sendIdentification*/
offset=dissect_mc_message(tvb, offset, actx, tree,
FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
@ -22258,6 +22282,18 @@ void proto_register_gsm_map(void) {
{ "multicall-Indicator", "gsm_ss.multicall_Indicator",
FT_UINT32, BASE_DEC, VALS(gsm_ss_Multicall_Indicator_vals), 0,
"gsm_ss.Multicall_Indicator", HFILL }},
{ &hf_gsm_ss_imsi,
{ "imsi", "gsm_ss.imsi",
FT_BYTES, BASE_HEX, NULL, 0,
"gsm_map.IMSI", HFILL }},
{ &hf_gsm_ss_originatingEntityNumber,
{ "originatingEntityNumber", "gsm_ss.originatingEntityNumber",
FT_BYTES, BASE_HEX, NULL, 0,
"gsm_map.ISDN_AddressString", HFILL }},
{ &hf_gsm_ss_msisdn,
{ "msisdn", "gsm_ss.msisdn",
FT_BYTES, BASE_HEX, NULL, 0,
"gsm_map.AddressString", HFILL }},
{ &hf_gsm_ss_chargingInformation,
{ "chargingInformation", "gsm_ss.chargingInformation",
FT_NONE, BASE_NONE, NULL, 0,
@ -22504,7 +22540,7 @@ void proto_register_gsm_map(void) {
"gsm_map_lcs.LCS_QoS", HFILL }},
/*--- End of included file: packet-gsm_map-hfarr.c ---*/
#line 2623 "packet-gsmmap-template.c"
#line 2625 "packet-gsmmap-template.c"
};
/* List of subtrees */
@ -23063,6 +23099,7 @@ void proto_register_gsm_map(void) {
/* --- Module SS-DataTypes --- --- --- */
&ett_gsm_ss_NotifySS_Arg,
&ett_gsm_ss_BeginSubscriberActivityArg,
&ett_gsm_ss_ForwardChargeAdviceArg,
&ett_gsm_ss_ChargingInformation,
&ett_gsm_ss_ForwardCUG_InfoArg,
@ -23092,7 +23129,7 @@ void proto_register_gsm_map(void) {
/*--- End of included file: packet-gsm_map-ettarr.c ---*/
#line 2651 "packet-gsmmap-template.c"
#line 2653 "packet-gsmmap-template.c"
};
/* Register protocol */
@ -23168,7 +23205,7 @@ void proto_register_gsm_map(void) {
/*--- End of included file: packet-gsm_map-dis-tab.c ---*/
#line 2669 "packet-gsmmap-template.c"
#line 2671 "packet-gsmmap-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" );