aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bssgp.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-09-27 20:09:08 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-09-27 20:09:08 +0000
commitd7e692809695b3311da7929f4c080478a58b24e6 (patch)
tree871d0415054d80c8427f4b24f5b1733001cc86e8 /epan/dissectors/packet-bssgp.c
parenteb27557794d6318724df064f6e71c3f2de5382de (diff)
Add PDUs to value_string.
svn path=/trunk/; revision=34266
Diffstat (limited to 'epan/dissectors/packet-bssgp.c')
-rw-r--r--epan/dissectors/packet-bssgp.c108
1 files changed, 106 insertions, 2 deletions
diff --git a/epan/dissectors/packet-bssgp.c b/epan/dissectors/packet-bssgp.c
index d2752790df..c2bc269af7 100644
--- a/epan/dissectors/packet-bssgp.c
+++ b/epan/dissectors/packet-bssgp.c
@@ -195,6 +195,12 @@ static gint ett_bssgp_tmsi_ptmsi = -1;
#define BSSGP_PDU_DELETE_BSS_PFC 0x56
#define BSSGP_PDU_DELETE_BSS_PFC_ACK 0x57
#define BSSGP_PDU_DELETE_BSS_PFC_REQ 0x58
+#define BSSGP_PDU_PS_HANDOVER_REQUIRED 0x59
+#define BSSGP_PDU_PS_HANDOVER_REQUIRED_ACK 0x5a
+#define BSSGP_PDU_PS_HANDOVER_REQUIRED_NACK 0x5b
+#define BSSGP_PDU_PS_HANDOVER_REQUEST 0x5c
+#define BSSGP_PDU_PS_HANDOVER_REQUEST_ACK 0x5d
+#define BSSGP_PDU_PS_HANDOVER_REQUEST_NACK 0x5e
#define BSSGP_PDU_PERFORM_LOCATION_REQUEST 0x60
#define BSSGP_PDU_PERFORM_LOCATION_RESPONSE 0x61
#define BSSGP_PDU_PERFORM_LOCATION_ABORT 0x62
@@ -248,6 +254,14 @@ static const value_string tab_bssgp_pdu_types[] = {
{ BSSGP_PDU_DELETE_BSS_PFC, "DELETE-BSS-PFC" },
{ BSSGP_PDU_DELETE_BSS_PFC_ACK, "DELETE-BSS-PFC-ACK" },
{ BSSGP_PDU_DELETE_BSS_PFC_REQ, "DELETE-BSS-PFC-REQ" },
+
+ { BSSGP_PDU_PS_HANDOVER_REQUIRED, "PS-HANDOVER-REQUIRED" },
+ { BSSGP_PDU_PS_HANDOVER_REQUIRED_ACK, "PS-HANDOVER-REQUIRED-ACK" },
+ { BSSGP_PDU_PS_HANDOVER_REQUIRED_NACK, "PS-HANDOVER-REQUIRED-NACK" },
+ { BSSGP_PDU_PS_HANDOVER_REQUEST, "PS-HANDOVER-REQUEST" },
+ { BSSGP_PDU_PS_HANDOVER_REQUEST_ACK, "PS-HANDOVER-REQUEST-ACK" },
+ { BSSGP_PDU_PS_HANDOVER_REQUEST_NACK, "PS-HANDOVER-REQUEST-NACK" },
+
{ BSSGP_PDU_PERFORM_LOCATION_REQUEST, "PERFORM-LOCATION-REQUEST" },
{ BSSGP_PDU_PERFORM_LOCATION_RESPONSE, "PERFORM-LOCATION-RESPONSE" },
{ BSSGP_PDU_PERFORM_LOCATION_ABORT, "PERFORM-LOCATION-ABORT" },
@@ -338,7 +352,42 @@ static const value_string tab_bssgp_pdu_types[] = {
#define BSSGP_IEI_RAN_INFORMATION_APPLICATION_ERROR_CONTAINER_UNIT 0x59
#define BSSGP_IEI_RAN_INFORMATION_ACK_RIM_CONTAINER 0x5a
#define BSSGP_IEI_RAN_INFORMATION_ERROR_RIM_CONTAINER 0x5b
-
+/*
+ETSI
+3GPP TS 48.018 version 6.16.0 Release 6 108 ETSI TS 148 018 V6.16.0 (2006-12)
+IEI coding
+(hexadecimal)
+IEI Types
+
+x5c TMGI
+x5d MBMS Session Identity
+x5e MBMS Session Duration
+x5f MBMS Service Area Identity List
+x60 MBMS Response
+x61 MBMS Routing Area List
+x62 MBMS Session Information
+x63 MBMS Stop Cause
+x64 Source BSS to Target BSS Transparent Container
+x65 Target BSS to Source BSS Transparent Container
+x66 NAS container for PS Handover
+x67 PFCs to be set-up list
+x68 List of set-up PFCs
+x69 Extended Feature Bitmap
+x6a Source RNC to Target RNC Transparent Container
+x6b Target RNC to Source RNC Transparent Container
+x6c RNC Identifier
+x6d Page Mode
+x6e Container ID
+x6f Global TFI
+x70 IMEI
+x71 Time to MBMS Data Transfer
+x72 MBMS Session Repetition Number
+x73 Inter RAT Handover Info
+x74 PS Handover Command
+x75 PS Handover Indications
+x76 SI/PSI Container
+x77 Active PFCs List
+*/
static const value_string tab_nacc_cause[]={
{ 0x00, "Other unspecified error" },
{ 0x01, "Syntax error in the Application Container" },
@@ -5477,7 +5526,9 @@ decode_pdu_delete_bss_pfc_ack(build_info_t *bi) {
decode_pdu_general(ies, 2, bi);
}
-
+/*
+ * 10.4.26 DELETE-BSS-PFC-REQ
+ */
static void
decode_pdu_delete_bss_pfc_req(build_info_t *bi) {
bssgp_ie_t ies[] = {
@@ -5496,6 +5547,48 @@ decode_pdu_delete_bss_pfc_req(build_info_t *bi) {
decode_pdu_general(ies, 3, bi);
}
+/*
+ * 10.4.27 PS-HANDOVER-REQUIRED
+ */
+#if 0
+static void
+decode_pdu_ps_handover_required(build_info_t *bi) {
+ bssgp_ie_t ies[] = {
+ { BSSGP_IEI_TLLI, NULL,
+ BSSGP_IE_PRESENCE_M, BSSGP_IE_FORMAT_TLV, BSSGP_UNKNOWN, 6 },
+
+ { BSSGP_IEI_CAUSE, NULL,
+ BSSGP_IE_PRESENCE_M, BSSGP_IE_FORMAT_TLV, BSSGP_UNKNOWN, 3 },
+
+ { BSSGP_IEI_RIM_ROUTING_INFORMATION, "Source Cell Identifier",
+ BSSGP_IE_PRESENCE_M, BSSGP_IE_FORMAT_TLV, BSSGP_UNKNOWN, 10 },
+
+ { BSSGP_IEI_RIM_ROUTING_INFORMATION, "Target Cell Identifier",
+ BSSGP_IE_PRESENCE_C, BSSGP_IE_FORMAT_TLV, BSSGP_UNKNOWN, 10 },
+/*
+Transparent Container
+(note 1)
+Source BSS to Target BSS
+Transparent Container/11.3.79
+C TLV 10-?
+Target RNC Identifier (note
+2)
+RNC Identifier/11.3.87 C TLV 10
+Source RNC to Target RNC
+Transparent Container
+(note 1)
+Source RNC to Target RNC
+Transparent Container/11.3.85
+C TLV 3-?
+Active PFCs List Active PFCs List/11.3.95c M TLV 3-?
+*/
+ };
+ bi->dl_data = FALSE;
+ bi->ul_data = TRUE;
+
+ decode_pdu_general(ies, 3, bi);
+}
+#endif
static void
decode_pdu_perform_location_request(build_info_t *bi) {
bssgp_ie_t ies[] = {
@@ -5927,6 +6020,17 @@ decode_pdu(build_info_t *bi) {
case BSSGP_PDU_DELETE_BSS_PFC_REQ:
decode_pdu_delete_bss_pfc_req(bi);
break;
+#if 0
+ case BSSGP_PDU_PS_HANDOVER_REQUIRED:
+ decode_pdu_ps_handover_required(bi);
+ break;
+ case BSSGP_PDU_PS_HANDOVER_REQUIRED_ACK:
+ case BSSGP_PDU_PS_HANDOVER_REQUIRED_NACK:
+ case BSSGP_PDU_PS_HANDOVER_REQUEST:
+ case BSSGP_PDU_PS_HANDOVER_REQUEST_ACK:
+ case BSSGP_PDU_PS_HANDOVER_REQUEST_NACK:
+ break;
+#endif
case BSSGP_PDU_PERFORM_LOCATION_REQUEST:
decode_pdu_perform_location_request(bi);
break;