forked from osmocom/wireshark
296 lines
10 KiB
INI
296 lines
10 KiB
INI
# gsm_map.cnf
|
|
# gsm_map conformation file
|
|
|
|
# $Id$
|
|
|
|
#.MODULE_IMPORT
|
|
|
|
#.EXPORTS
|
|
|
|
#.PDU
|
|
|
|
#.NO_EMIT
|
|
|
|
|
|
#.TYPE_RENAME
|
|
InsertSubscriberDataArg/bearerServiceList bearerServiceList
|
|
InsertSubscriberDataRes/bearerServiceList bearerServiceList
|
|
InsertSubscriberDataRes/ss-List ss_List
|
|
DeleteSubscriberDataArg/ss-List ss_List
|
|
SendRoutingInfoRes/ss-List ss_List
|
|
SendIdentificationRes/authenticationSetList SendId_authenticationSetList
|
|
AnyTimeModificationArg/modificationRequestFor-CF-Info/basicService BasicService_ext
|
|
AnyTimeModificationArg/modificationRequestFor-CB-Info/basicService BasicService_ext
|
|
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/sms-TriggerDetectionPoint sms_TriggerDetectionPoint
|
|
Sms-CAMEL-TDP-DataList/_item/sms-TriggerDetectionPoint sms_TriggerDetectionPoint
|
|
InsertSubscriberDataArg/vlrCamelSubscriptionInfo/ss-CSI ss_CSI
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/ss-CSI ss_CSI
|
|
SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo/gmscCamelSubscriptionInfo/t-CSI t_CSI
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-CSI t_CSI
|
|
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint t_BCSM_TriggerDetectionPoint
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint t_BCSM_TriggerDetectionPoint
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint t_BCSM_TriggerDetectionPoint
|
|
#.FIELD_RENAME
|
|
RequestedInfo/locationInformation locationInformationFlag
|
|
RequestedInfo/subscriberState subscriberStateFlag
|
|
AdditionalSignalInfo/signalInfo ext_signalInfo
|
|
ForwardingInfo/forwardingFeatureList forwardingFeatureList_1_32
|
|
SendIdentificationRes/authenticationSetList sendId_authenticationSetList
|
|
AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedVLR-CAMEL-Phases supportedVLR_CAMEL_Phases_flg
|
|
AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedSGSN-CAMEL-Phases supportedSGSN_CAMEL_Phases_flg
|
|
RequestedInfo/imei imei_flg
|
|
AnyTimeModificationArg/modificationRequestFor-CF-Info/basicService basicService_ext
|
|
AnyTimeModificationArg/modificationRequestFor-CB-Info/basicService basicService_ext
|
|
|
|
O-BcsmCamelTDP-CriteriaList/_item/basicServiceCriteria basicServiceCriteria_lst
|
|
|
|
InterrogateSS-Res/forwardingFeatureList forwardingFeatureList_1_13
|
|
AnyTimeModificationArg/modificationRequestFor-CF-Info/noReplyConditionTime noReplyConditionTime_1_100
|
|
|
|
AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint o-BcsmTriggerDetectionPoint
|
|
O-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint o-BcsmTriggerDetectionPoint
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Sm-RP-UI
|
|
|
|
tvbuff_t *tpdu_tvb;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
&tpdu_tvb);
|
|
/*
|
|
* dissect the embedded TPDU message
|
|
*/
|
|
if (!tpdu_tvb)
|
|
return offset;
|
|
|
|
dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Imsi
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 0);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
|
|
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY ServiceCentreAddress
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Msisdn
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_misdn_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Gmsc-Address
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_map_gmsc_address_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Hlr-Number
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_map_hlr_number_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY RoamingNumber
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_map_RoamingNumber_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY ForwardedToNumber
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
char *digit_str;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
|
|
proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 1);
|
|
|
|
proto_tree_add_string(tree, hf_gsm_map_map_ForwardedToNumber_digits, parameter_tvb, 1, -1, digit_str);
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY Ss-Status
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
guint8 octet;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
|
|
|
proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
|
|
if ((octet & 0x01)== 1)
|
|
proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
|
|
|
|
proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
|
|
proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
|
|
proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
|
|
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY ProtocolId
|
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &protocolId);
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY SignalInfo
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
guint8 octet;
|
|
guint8 length;
|
|
|
|
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
¶meter_tvb);
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
switch (protocolId){
|
|
/* gsm-0408 */
|
|
case 1:
|
|
break;
|
|
/* gsm-0806 */
|
|
case 2:
|
|
break;
|
|
/* gsm-BSSMAP */
|
|
case 3:
|
|
break;
|
|
/* ets-300102-1 (~Q.931 ) */
|
|
case 4:
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
|
length = tvb_get_guint8(parameter_tvb,1);
|
|
if ( octet == 4 )
|
|
dissect_q931_bearer_capability_ie(parameter_tvb, 2, length, tree);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
#----------------------------------------------------------------------------------------
|
|
#.FN_BODY PrivateExtension/extType
|
|
|
|
proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
|
|
call_dissector(data_handle, tvb, pinfo, tree);
|
|
offset = tvb_length_remaining(tvb,offset);
|
|
|
|
#.END
|
|
#----------------------------------------------------------------------------------------
|
|
#.TYPE_ATTR
|
|
Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
|
|
Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
|
|
|
#.END
|
|
|
|
|