2004-11-02 01:19:23 +00:00
|
|
|
# gsm_map.cnf
|
|
|
|
# gsm_map conformation file
|
|
|
|
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
#.MODULE_IMPORT
|
|
|
|
|
|
|
|
#.EXPORTS
|
2005-07-26 20:04:16 +00:00
|
|
|
AddressString
|
2005-11-25 20:18:36 +00:00
|
|
|
Add-GeographicalInformation
|
|
|
|
AgeOfLocationInformation
|
2005-08-03 20:51:54 +00:00
|
|
|
AlertingPattern
|
2005-11-25 20:18:36 +00:00
|
|
|
AreaEventInfo
|
|
|
|
CCBS-Feature
|
|
|
|
CellGlobalIdOrServiceAreaIdFixedLength
|
|
|
|
CUG-Index
|
|
|
|
CUG-Interlock
|
|
|
|
CUG-Info
|
|
|
|
CurrentPassword
|
|
|
|
DeferredLocationEventType
|
|
|
|
EraseCC-EntryArg
|
|
|
|
EraseCC-EntryRes
|
|
|
|
Ext-BasicServiceCode
|
|
|
|
Ext-GeographicalInformation
|
|
|
|
Ext-QoS-Subscribed
|
|
|
|
Ext2-QoS-Subscribed
|
|
|
|
ExtensionContainer
|
|
|
|
GeographicalInformation
|
|
|
|
GetPasswordArg
|
|
|
|
GPRSChargingID
|
|
|
|
GSN-Address
|
|
|
|
IMEI
|
|
|
|
IMSI
|
|
|
|
InterrogateSS-Res
|
2005-08-03 20:51:54 +00:00
|
|
|
ISDN-AddressString
|
|
|
|
ISDN-SubaddressString
|
2006-01-20 19:39:38 +00:00
|
|
|
LAIFixedLength
|
2005-08-03 20:51:54 +00:00
|
|
|
LCSClientExternalID
|
|
|
|
LCSClientName
|
|
|
|
LCSRequestorID
|
|
|
|
LCSCodeword
|
|
|
|
LCSServiceTypeID
|
2005-11-25 20:18:36 +00:00
|
|
|
LCS-ReferenceNumber
|
2005-08-03 20:51:54 +00:00
|
|
|
LCS-QoS
|
2005-11-25 20:18:36 +00:00
|
|
|
LocationInformation
|
|
|
|
LocationType
|
|
|
|
LSAIdentity
|
|
|
|
MS-Classmark2
|
|
|
|
NewPassword
|
|
|
|
NotificationToMSUser
|
|
|
|
OfferedCamel4Functionalities
|
|
|
|
ProtectedPayload
|
|
|
|
QoS-Subscribed
|
|
|
|
RAIdentity
|
|
|
|
RegisterCC-EntryRes
|
|
|
|
RegisterSS-Arg
|
|
|
|
SubscriberState
|
|
|
|
SecurityHeader
|
|
|
|
SupportedCamelPhases
|
2005-08-03 20:51:54 +00:00
|
|
|
SupportedGADShapes
|
2005-11-25 20:18:36 +00:00
|
|
|
SS-Code
|
|
|
|
SS-Status
|
2005-08-03 20:51:54 +00:00
|
|
|
SS-Info
|
|
|
|
SS-ForBS-Code
|
2005-11-25 20:18:36 +00:00
|
|
|
USSD-DataCodingScheme
|
|
|
|
USSD-String
|
2005-08-03 20:51:54 +00:00
|
|
|
Ussd-Arg
|
|
|
|
Ussd-Res
|
2005-11-25 20:18:36 +00:00
|
|
|
UU-Data
|
|
|
|
|
2004-11-02 01:19:23 +00:00
|
|
|
#.PDU
|
|
|
|
|
|
|
|
#.NO_EMIT
|
|
|
|
|
2004-11-09 07:04:12 +00:00
|
|
|
|
2004-11-02 01:19:23 +00:00
|
|
|
#.TYPE_RENAME
|
2005-06-25 17:25:44 +00:00
|
|
|
|
2004-11-02 01:19:23 +00:00
|
|
|
#.FIELD_RENAME
|
2005-06-25 17:25:44 +00:00
|
|
|
Ext-SS-Info/ss-Data ext-ss-Data
|
|
|
|
RequestedInfo/subscriberState subscriberState-flg
|
|
|
|
RequestedSubscriptionInfo/supportedVLR-CAMEL-Phases supportedVLR-CAMEL-Phases_flg
|
|
|
|
RequestedSubscriptionInfo/supportedSGSN-CAMEL-Phases supportedSGSN-CAMEL-Phases_flg
|
|
|
|
PrepareGroupCallArg/teleservice ext-teleservice
|
|
|
|
BasicServiceCode/teleservice teleservice-code
|
|
|
|
PDP-ContextInfo/qos-Subscribed ext-qos-Subscribed
|
|
|
|
AccessNetworkSignalInfo/signalInfo longsignalInfo
|
|
|
|
Ext-SS-Info/callBarringInfo ext-callBarringInfo
|
|
|
|
RequestedInfo/locationInformation locationInformation_flg
|
2005-02-16 22:42:52 +00:00
|
|
|
RequestedInfo/imei imei_flg
|
2005-06-25 17:25:44 +00:00
|
|
|
Ext-ForwFeature/forwardingOptions ext-forwardingOptions
|
|
|
|
Ext-SS-Info/forwardingInfo ext-forwardingInfo
|
|
|
|
RegisterSS-Arg/forwardedToNumber forwardedToNumber_addr
|
|
|
|
ModificationRequestFor-CF-Info/forwardedToNumber forwardedToNumber_addr
|
|
|
|
Ext-ForwFeature/basicService ext-basicService
|
|
|
|
Ext-CallBarringFeature/basicService ext-basicService
|
|
|
|
CUG-Feature/basicService ext-basicService
|
|
|
|
SendRoutingInfoRes/basicService ext-basicService
|
|
|
|
ModificationRequestFor-CF-Info/basicService ext-basicService
|
|
|
|
ModificationRequestFor-CB-Info/basicService ext-basicService
|
|
|
|
SendRoutingInfoArg/basicServiceGroup ext-basicServiceGroup
|
|
|
|
ResumeCallHandlingArg/basicServiceGroup ext-basicServiceGroup
|
|
|
|
Ext-ForwFeature/ss-Status ext-ss-Status
|
|
|
|
Ext-CallBarringFeature/ss-Status ext-ss-Status
|
|
|
|
Ext-SS-Data/ss-Status ext-ss-Status
|
|
|
|
LCS-PrivacyClass/ss-Status ext-ss-Status
|
|
|
|
MOLR-Class/ss-Status ext-ss-Status
|
|
|
|
MC-SS-Info/ss-Status ext-ss-Status
|
|
|
|
ModificationRequestFor-CF-Info/ss-Status ext-ss-Status
|
|
|
|
ModificationRequestFor-CB-Info/ss-Status ext-ss-Status
|
|
|
|
SS-Data/basicServiceGroupList ext-basicServiceGroupList
|
|
|
|
InterrogateSS-Res/basicServiceGroupList ext-basicServiceGroupList
|
|
|
|
Ext-CallBarInfo/callBarringFeatureList ext-callBarringFeatureList
|
|
|
|
CallBarringData/callBarringFeatureList ext-callBarringFeatureList
|
|
|
|
Ext-CallBarringInfoFor-CSE/callBarringFeatureList ext-callBarringFeatureList
|
|
|
|
Ext-ForwInfo/forwardingFeatureList ext-forwardingFeatureList
|
|
|
|
CallForwardingData/forwardingFeatureList ext-forwardingFeatureList
|
|
|
|
Ext-ForwardingInfoFor-CSE/forwardingFeatureList ext-forwardingFeatureList
|
|
|
|
Ext-ForwFeature/noReplyConditionTime ext-noReplyConditionTime
|
|
|
|
ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
|
2005-01-24 22:33:36 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-12-19 19:34:52 +00:00
|
|
|
#.PDU
|
|
|
|
Component
|
|
|
|
|
|
|
|
#.FN_BODY InvokeParameter
|
|
|
|
offset = dissect_invokeData(pinfo, tree, tvb, offset);
|
|
|
|
|
|
|
|
#.FN_BODY ReturnResultParameter
|
|
|
|
offset = dissect_returnResultData(pinfo, tree, tvb, offset);
|
|
|
|
|
|
|
|
#.FN_BODY ReturnErrorParameter
|
|
|
|
offset = dissect_returnErrorData(pinfo, tree, tvb, offset);
|
|
|
|
|
|
|
|
#.FN_PARS OperationLocalvalue
|
|
|
|
|
|
|
|
VAL_PTR = &opcode
|
|
|
|
|
|
|
|
#.FN_BODY OperationLocalvalue
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
if (check_col(pinfo->cinfo, COL_INFO)){
|
|
|
|
col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%%u)"));
|
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_PARS LocalErrorcode
|
|
|
|
|
|
|
|
VAL_PTR = &errorCode
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS Sm-RP-UI
|
|
|
|
|
|
|
|
VAL_PTR = &tpdu_tvb
|
|
|
|
|
2005-01-24 22:33:36 +00:00
|
|
|
#.FN_BODY Sm-RP-UI
|
|
|
|
|
|
|
|
tvbuff_t *tpdu_tvb;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-01-24 22:33:36 +00:00
|
|
|
/*
|
|
|
|
* dissect the embedded TPDU message
|
|
|
|
*/
|
2005-02-03 21:22:09 +00:00
|
|
|
if (!tpdu_tvb)
|
|
|
|
return offset;
|
2005-01-24 22:33:36 +00:00
|
|
|
|
|
|
|
dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
|
2005-01-26 20:07:35 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS IMSI
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
#.FN_BODY IMSI
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
char *digit_str;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-01-31 21:40:51 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
digit_str = unpack_digits(parameter_tvb, 0);
|
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
|
2005-02-05 15:51:45 +00:00
|
|
|
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS ServiceCentreAddress
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-01-26 20:07:35 +00:00
|
|
|
#.FN_BODY ServiceCentreAddress
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
char *digit_str;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
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);
|
2005-05-11 21:46:16 +00:00
|
|
|
pinfo->p2p_dir = P2P_DIR_SENT;
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS ISDN-AddressString
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
#.FN_BODY ISDN-AddressString
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
char *digit_str;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-01-26 20:07:35 +00:00
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
|
2005-01-26 20:07:35 +00:00
|
|
|
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);
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
proto_tree_add_string(tree, hf_gsm_map_isdn_address_digits, parameter_tvb, 1, -1, digit_str);
|
2005-01-26 20:07:35 +00:00
|
|
|
|
2005-05-11 21:46:16 +00:00
|
|
|
pinfo->p2p_dir = P2P_DIR_RECV;
|
|
|
|
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2005-01-26 20:07:35 +00:00
|
|
|
#.END
|
2005-07-11 19:24:30 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS AddressString
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-07-11 19:24:30 +00:00
|
|
|
#.FN_BODY AddressString
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
char *digit_str;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
|
|
|
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_address_digits, parameter_tvb, 1, -1, digit_str);
|
2005-02-03 21:22:09 +00:00
|
|
|
|
2005-02-14 16:21:47 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS SS-Status
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
#.FN_BODY SS-Status
|
2005-02-14 16:21:47 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
2005-06-25 17:25:44 +00:00
|
|
|
guint8 octet;
|
2005-02-14 16:21:47 +00:00
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-02-14 16:21:47 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
2005-02-14 16:21:47 +00:00
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
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);
|
2005-02-14 16:21:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
#.END
|
2005-01-26 20:07:35 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS Ext-SS-Status
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-06-25 17:25:44 +00:00
|
|
|
#.FN_BODY Ext-SS-Status
|
|
|
|
/* Note Ext-SS-Status can have more than one byte */
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 octet;
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
2005-01-26 20:07:35 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
2005-01-24 22:33:36 +00:00
|
|
|
#.END
|
2005-02-03 21:22:09 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-07-08 19:59:56 +00:00
|
|
|
#.FN_PARS ProtocolId
|
2005-02-03 21:22:09 +00:00
|
|
|
|
2005-07-08 19:59:56 +00:00
|
|
|
VAL_PTR = &protocolId
|
2005-02-03 21:22:09 +00:00
|
|
|
|
2005-07-04 19:09:38 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-07-08 19:59:56 +00:00
|
|
|
#.FN_PARS AccessNetworkProtocolId
|
2005-07-04 19:09:38 +00:00
|
|
|
|
2005-07-08 19:59:56 +00:00
|
|
|
VAL_PTR = &AccessNetworkProtocolId
|
2005-07-04 19:09:38 +00:00
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS SignalInfo
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY SignalInfo
|
2005-02-03 21:22:09 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 octet;
|
|
|
|
guint8 length;
|
2005-07-04 19:09:38 +00:00
|
|
|
tvbuff_t *next_tvb;
|
2005-02-03 21:22:09 +00:00
|
|
|
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2005-02-03 21:22:09 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
switch (protocolId){
|
|
|
|
/* gsm-0408 */
|
|
|
|
case 1:
|
|
|
|
break;
|
|
|
|
/* gsm-0806 */
|
|
|
|
case 2:
|
|
|
|
break;
|
2005-12-19 19:34:52 +00:00
|
|
|
/* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
|
2005-02-03 21:22:09 +00:00
|
|
|
case 3:
|
2005-07-04 19:09:38 +00:00
|
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
|
|
|
length = tvb_get_guint8(parameter_tvb,1);
|
|
|
|
if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
|
|
|
|
next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
|
|
|
|
dissect_bssmap(next_tvb, pinfo, tree);
|
|
|
|
}
|
2005-02-03 21:22:09 +00:00
|
|
|
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;
|
|
|
|
}
|
2005-07-04 19:09:38 +00:00
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS LongSignalInfo
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY LongSignalInfo
|
2005-07-04 19:09:38 +00:00
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 octet;
|
|
|
|
guint8 length;
|
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2005-07-04 19:09:38 +00:00
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
switch (AccessNetworkProtocolId){
|
|
|
|
/* ts3G-48006 */
|
|
|
|
case 1:
|
|
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
|
|
|
length = tvb_get_guint8(parameter_tvb,1);
|
|
|
|
if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
|
|
|
|
/* gsm-BSSMAP? */
|
|
|
|
next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
|
|
|
|
dissect_bssmap(next_tvb, pinfo, tree);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
/* ts3G-25413 */
|
|
|
|
case 2:
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
2005-02-23 23:13:57 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.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);
|
2005-02-03 21:22:09 +00:00
|
|
|
|
2005-02-23 23:13:57 +00:00
|
|
|
#.END
|
2005-07-11 19:24:30 +00:00
|
|
|
#.FN_FTR ForwardingOptions
|
|
|
|
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE);
|
|
|
|
#.FN_FTR Ext-ForwFeature/forwardingOptions
|
|
|
|
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE);
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE);
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_PARS PDP-Type
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY PDP-Type
|
2005-07-11 19:24:30 +00:00
|
|
|
guint8 pdp_type_org;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,FALSE);
|
|
|
|
pdp_type_org = tvb_get_guint8(parameter_tvb,1);
|
|
|
|
switch (pdp_type_org){
|
|
|
|
case 0: /* ETSI */
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,FALSE);
|
|
|
|
break;
|
|
|
|
case 1: /* IETF */
|
|
|
|
proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,FALSE);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_PARS QoS-Subscribed
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_BODY QoS-Subscribed
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
2005-08-22 16:19:31 +00:00
|
|
|
de_sm_qos(parameter_tvb, tree, 0, 3, NULL,0);
|
2005-07-11 19:24:30 +00:00
|
|
|
|
|
|
|
#.FN_PARS Ext-QoS-Subscribed
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
2005-08-03 20:51:54 +00:00
|
|
|
#.FN_BODY Ext-QoS-Subscribed
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-07-11 19:24:30 +00:00
|
|
|
|
2006-01-19 18:20:14 +00:00
|
|
|
if (!parameter_tvb)
|
2005-07-11 19:24:30 +00:00
|
|
|
return offset;
|
2006-01-19 18:20:14 +00:00
|
|
|
dissect_gsm_map_ext_qos_subscribed(tvb, pinfo, tree);
|
2006-01-20 19:39:38 +00:00
|
|
|
|
|
|
|
#.FN_PARS GSN-Address
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY GSN-Address
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 octet;
|
2006-01-22 21:16:33 +00:00
|
|
|
proto_item *item;
|
|
|
|
proto_tree *subtree;
|
2006-01-20 19:39:38 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
2006-01-22 21:16:33 +00:00
|
|
|
item = get_ber_last_created_item();
|
|
|
|
subtree = proto_item_add_subtree(item, ett_gsm_map_pdptypenumber);
|
|
|
|
|
2006-01-20 19:39:38 +00:00
|
|
|
octet = tvb_get_guint8(parameter_tvb,0);
|
|
|
|
switch(octet){
|
|
|
|
case 0x04: /* IPv4 */
|
2006-01-22 21:16:33 +00:00
|
|
|
proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE);
|
2006-01-20 19:39:38 +00:00
|
|
|
break;
|
|
|
|
case 0x50: /* IPv4 */
|
2006-01-22 21:16:33 +00:00
|
|
|
proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE);
|
2006-01-20 19:39:38 +00:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
2006-01-22 21:16:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_PARS RAIdentity
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY RAIdentity
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_item *item;
|
|
|
|
proto_tree *subtree;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
item = get_ber_last_created_item();
|
|
|
|
subtree = proto_item_add_subtree(item, ett_gsm_map_RAIdentity);
|
|
|
|
de_gmm_rai(parameter_tvb, subtree, 0, 3, NULL,0);
|
|
|
|
|
2006-01-31 05:46:36 +00:00
|
|
|
#.FN_PARS LAIFixedLength
|
|
|
|
|
|
|
|
VAL_PTR = ¶meter_tvb
|
|
|
|
|
|
|
|
#.FN_BODY LAIFixedLength
|
|
|
|
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_item *item;
|
|
|
|
proto_tree *subtree;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if (!parameter_tvb)
|
|
|
|
return offset;
|
|
|
|
item = get_ber_last_created_item();
|
|
|
|
subtree = proto_item_add_subtree(item, ett_gsm_map_LAIFixedLength);
|
|
|
|
dissect_e212_mcc_mnc(parameter_tvb, subtree, 0);
|
|
|
|
|
2005-01-24 22:33:36 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2004-11-02 01:19:23 +00:00
|
|
|
#.TYPE_ATTR
|
2005-06-25 17:25:44 +00:00
|
|
|
SS-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
|
2004-11-02 01:19:23 +00:00
|
|
|
Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
2005-04-15 08:29:50 +00:00
|
|
|
Bearerservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
2005-07-04 19:09:38 +00:00
|
|
|
TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
|
|
|
BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
|
|
|
Ext-TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
|
|
|
Ext-BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
2005-07-11 19:24:30 +00:00
|
|
|
ChargingCharacteristics TYPE = FT_UINT16 DISPLAY = BASE_DEC BITMASK = 0x0f00 STRINGS = VALS(chargingcharacteristics_values)
|
2004-11-02 01:19:23 +00:00
|
|
|
#.END
|
2004-11-09 07:04:12 +00:00
|
|
|
|
|
|
|
|