view cdg-hybrid/msg/sm.mdf @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

;********************************************************************************
;*** File           : sm.mdf
;*** Creation       : Thu Jun 19 15:32:13 CST 2008
;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1
;*** Copyright      : (c) Texas Instruments AG, Berlin Germany 2002
;********************************************************************************
;*** Document Type  : Air Interface Message Specification
;*** Document Name  : sm
;*** Document No.   : 8010.605.03.005
;*** Document Date  : 2003-08-28
;*** Document Status: BEING_PROCESSED
;*** Document Author: MVJ
;********************************************************************************



PRAGMA 	SRC_FILE_TIME 	"Wed Nov 28 10:21:12 2007"
PRAGMA 	LAST_MODIFIED 	"2003-08-28"
PRAGMA 	ID_AND_VERSION 	"8010.605.03.005"
PRAGMA 	CCDNAME 	SM 	; CCD name tag
PRAGMA 	PREFIX 	M_SM 	; Document prefix
PRAGMA 	ALLWAYS_ENUM_IN_VAL_FILE 	YES 	; Adds enumerations in the .val file.



CONST 	SIZE_R97_QOS 	3 	; Size of R97 QoS IE (V-part only)
CONST 	SIZE_R99_QOS 	11 	; Size of R99 QoS IE (V-part only)



VALTAB 	VAL_nsapi_val
VAL 	DEF 	 	"reserved"
VAL 	5 	NSAPI_5 	"NSAPI 5"
VAL 	6 	NSAPI_6 	"NSAPI 6"
VAL 	7 	NSAPI_7 	"NSAPI 7"
VAL 	8 	NSAPI_8 	"NSAPI 8"
VAL 	9 	NSAPI_9 	"NSAPI 9"
VAL 	10 	NSAPI_10 	"NSAPI 10"
VAL 	11 	NSAPI_11 	"NSAPI 11"
VAL 	12 	NSAPI_12 	"NSAPI 12"
VAL 	13 	NSAPI_13 	"NSAPI 13"
VAL 	14 	NSAPI_14 	"NSAPI 14"
VAL 	15 	NSAPI_15 	"NSAPI 15"

VALTAB 	VAL_delay
VAL 	DEF 	 	"Delay class 4 (best effort)"
VAL 	0 	DELAY_SUB 	"Subscribed delay class (uplink only)"
VAL 	0 	DELAY_RES_DL 	"Reserved (downlink only)"
VAL 	1 	DELAY_1 	"Delay class 1"
VAL 	2 	DELAY_2 	"Delay class 2"
VAL 	3 	DELAY_3 	"Delay class 3"
VAL 	4 	DELAY_4 	"Delay class 4 (best effort)"
VAL 	7 	DELAY_RES 	"Reserved"

VALTAB 	VAL_reliability
VAL 	DEF 	 	"Unacknowledged GTP and LLC; Acknowledged RLC, Protected data"
VAL 	0 	RELY_SUB 	"Subscribed reliability class (uplink only)"
VAL 	0 	RELY_RES_DL 	"Reserved (dowwnlink only)"
VAL 	1 	RELY_1 	"Acknowledged GTP, LLC, and RLC; Protected data"
VAL 	2 	RELY_2 	"Unacknowledged GTP; Acknowledged LLC and RLC, Protected data"
VAL 	3 	RELY_3 	"Unacknowledged GTP and LLC; Acknowledged RLC, Protected data"
VAL 	4 	RELY_4 	"Unacknowledged GTP, LLC, and RLC, Protected data"
VAL 	5 	RELY_5 	"Unacknowledged GTP, LLC, and RLC, Unprotected data"
VAL 	7 	RELY_RES 	"Reserved"

VALTAB 	VAL_sapi
VAL 	DEF 	 	"reserved"
VAL 	0 	SAPI_NONE 	"No SAPI assigned"
VAL 	3 	SAPI_3 	"SAPI 3"
VAL 	5 	SAPI_5 	"SAPI 5"
VAL 	9 	SAPI_9 	"SAPI 9"
VAL 	11 	SAPI_11 	"SAPI 11"

VALTAB 	VAL_peak
VAL 	DEF 	 	"Up to 1000 octet/s"
VAL 	0 	PEAK_SUB 	"Subscribed peak throughput (uplink only)"
VAL 	0 	PEAK_RES_DL 	"reserved (downlink only)"
VAL 	1 	PEAK_1000 	"Up to 1000 octet/s"
VAL 	2 	PEAK_2000 	"Up to 2000 octet/s"
VAL 	3 	PEAK_4000 	"Up to 4000 octet/s"
VAL 	4 	PEAK_8000 	"Up to 8000 octet/s"
VAL 	5 	PEAK_16000 	"Up to 16000 octet/s"
VAL 	6 	PEAK_32000 	"Up to 32000 octet/s"
VAL 	7 	PEAK_64000 	"Up to 64000 octet/s"
VAL 	8 	PEAK_128000 	"Up to 128000 octet/s"
VAL 	9 	PEAK_256000 	"Up to 256000 octet/s"
VAL 	15 	PEAK_RES 	"Reserved"

VALTAB 	VAL_precedence
VAL 	DEF 	 	"Normal Priority"
VAL 	0 	PRECED_SUB 	"Subscribed precedence (uplink only)"
VAL 	0 	PRECED_RES_DL 	"Reserved (downlink only)"
VAL 	1 	PRECED_HIGH 	"High priority"
VAL 	2 	PRECED_NORM 	"Normal Priority"
VAL 	3 	PRECED_LOW 	"Low priority"
VAL 	7 	PRECED_RES 	"Reserved"

VALTAB 	VAL_mean
VAL 	DEF 	 	"Best effort"
VAL 	0 	MEAN_SUB 	"Subscribed mean throughput (uplink only)"
VAL 	0 	MEAN_RES_DL 	"reserved (downlink only)"
VAL 	1 	MEAN_100 	"100 octet/h"
VAL 	2 	MEAN_200 	"200 octet/h"
VAL 	3 	MEAN_500 	"500 octet/h"
VAL 	4 	MEAN_1000 	"1000 octet/h"
VAL 	5 	MEAN_2000 	"2000 octet/h"
VAL 	6 	MEAN_5000 	"5000 octet/h"
VAL 	7 	MEAN_10000 	"10000 octet/h"
VAL 	8 	MEAN_20000 	"20000 octet/h"
VAL 	9 	MEAN_50000 	"50000 octet/h"
VAL 	10 	MEAN_100000 	"100000 octet/h"
VAL 	11 	MEAN_200000 	"200000 octet/h"
VAL 	12 	MEAN_500000 	"500000 octet/h"
VAL 	13 	MEAN_1000000 	"1000000 octet/h"
VAL 	14 	MEAN_2000000 	"2000000 octet/h"
VAL 	15 	MEAN_5000000 	"5000000 octet/h"
VAL 	16 	MEAN_10000000 	"10000000 octet/h"
VAL 	17 	MEAN_20000000 	"20000000 octet/h"
VAL 	18 	MEAN_50000000 	"50000000 octet/h"
VAL 	30 	MEAN_RES 	"Reserved"
VAL 	31 	MEAN_BEST 	"Best effort"

VALTAB 	VAL_tc
VAL 	0 	QOS_TC_SUB 	"Subscribed traffic class (uplink only)"
VAL 	0 	QOS_TC_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_TC_CONV 	"Conversational class"
VAL 	2 	QOS_TC_STREAM 	"Streaming class"
VAL 	3 	QOS_TC_INTER 	"Interactive class"
VAL 	4 	QOS_TC_BG 	"Background class"
VAL 	7 	QOS_TC_RES 	"Reserved"

VALTAB 	VAL_order
VAL 	0 	QOS_ORDER_SUB 	"Subscribed delivery order (uplink only)"
VAL 	0 	QOS_ORDER_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_ORDER_YES 	"With delivery order ('yes')"
VAL 	2 	QOS_ORDER_NO 	"Without delivery order ('no')"
VAL 	3 	QOS_ORDER_RES 	"Reserved"

VALTAB 	VAL_del_err_sdu
VAL 	0 	QOS_DEL_ERR_SUB 	"Subscribed delivery order (uplink only)"
VAL 	0 	QOS_DEL_ERR_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_DEL_ERR_NODETECT 	"No detect ('-')"
VAL 	2 	QOS_DEL_ERR_YES 	"Erroneous SDUs are delivered ('yes')"
VAL 	3 	QOS_DEL_ERR_NO 	"Erroneous SDUs are not delivered ('no')"
VAL 	7 	QOS_DEL_ERR_RES 	"Reserved"

VALTAB 	VAL_max_sdu
VAL 	0 	QOS_MAX_SDU_SUB 	"Subscribed maximum SDU size"
VAL 	0 	QOS_MAX_SDU_RES_DL 	"Reserved (downlink only)"
VAL 	151 	QOS_MAX_SDU_1502 	"Maximum SDU size 1502 octets"
VAL 	152 	QOS_MAX_SDU_1510 	"Maximum SDU size 1510 octets"
VAL 	153 	QOS_MAX_SDU_1520 	"Maximum SDU size 1520 octets"
VAL 	255 	QOS_MAX_SDU_RES 	"Reserved"

VALTAB 	VAL_max_br_ul
VAL 	0 	QOS_MAX_BR_UL_SUB 	"Subscribed maximum uplink data rate (uplink only)"
VAL 	0 	QOS_MAX_BR_UL_RES_DL 	"Reserved (downlink only)"
VAL 	255 	QOS_MAX_BR_UL_0 	"0 kbps uplink data rate"

VALTAB 	VAL_max_br_dl
VAL 	0 	QOS_MAX_BR_DL_SUB 	"Subscribed maximum downlink data rate (uplink only)"
VAL 	0 	QOS_MAX_BR_DL_RES_DL 	"Reserved (downlink only)"
VAL 	255 	QOS_MAX_BR_DL_0 	"0 kbps downlink data rate"

VALTAB 	VAL_ber
VAL 	0 	QOS_BER_SUB 	"Subscribed residual BER (uplink only)"
VAL 	0 	QOS_BER_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_BER_5E_2 	"5*10-2"
VAL 	2 	QOS_BER_1E_2 	"1*10-2"
VAL 	3 	QOS_BER_5E_3 	"5*10-3"
VAL 	4 	QOS_BER_4E_3 	"4*10-3"
VAL 	5 	QOS_BER_1E_3 	"1*10-3"
VAL 	6 	QOS_BER_1E_4 	"1*10-4"
VAL 	7 	QOS_BER_1E_5 	"1*10-5"
VAL 	8 	QOS_BER_1E_6 	"1*10-6"
VAL 	9 	QOS_BER_6E_8 	"6*10-8"
VAL 	15 	QOS_BER_RES 	"Reserved"

VALTAB 	VAL_sdu_err_ratio
VAL 	0 	QOS_SDU_ERR_SUB 	"Subscribed SDU error ratio"
VAL 	0 	QOS_SDU_ERR_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_SDU_ERR_1E_2 	"1*10-2"
VAL 	2 	QOS_SDU_ERR_7E_3 	"7*10-3"
VAL 	3 	QOS_SDU_ERR_1E_3 	"1*10-3"
VAL 	4 	QOS_SDU_ERR_1E_4 	"1*10-4"
VAL 	5 	QOS_SDU_ERR_1E_5 	"1*10-5"
VAL 	6 	QOS_SDU_ERR_1E_6 	"1*10-6"
VAL 	7 	QOS_SDU_ERR_1E_1 	"1*10-1"
VAL 	15 	QOS_SDU_ERR_RES 	"Reserved"

VALTAB 	VAL_xfer_delay
VAL 	0 	QOS_XFER_DELAY_SUB 	"Subscribed transfer delay (uplink only)"
VAL 	0 	QOS_XFER_DELAY_RES_DL 	"Reserved (downlink only)"
VAL 	63 	QOS_XFER_DELAY_RES 	"Reserved"

VALTAB 	VAL_handling_pri
VAL 	0 	QOS_HANDLING_PRI_SUB 	"Subscribed traffic handling priority (uplink only)"
VAL 	0 	QOS_HANDLING_PRI_RES_DL 	"Reserved (downlink only)"
VAL 	1 	QOS_HANDLING_PRI_1 	"Priority level 1"
VAL 	2 	QOS_HANDLING_PRI_2 	"Priority level 2"
VAL 	3 	QOS_HANDLING_PRI_3 	"Priority level 3"

VALTAB 	VAL_guar_br_ul
VAL 	0 	QOS_GUAR_BR_UL_SUB 	"Subscribed guaranteed uplink data rate (uplink only)"
VAL 	0 	QOS_GUAR_BR_UL_RES_DL 	"Reserved (downlink only)"

VALTAB 	VAL_guar_br_dl
VAL 	0 	QOS_GUAR_BR_DL_SUB 	"Subscribed guaranteed downlink data rate (uplink only)"
VAL 	0 	QOS_GUAR_BR_DL_RES_DL 	"Reserved (downlink only)"

VALTAB 	VAL_pfi_val
VAL 	0 	PFI_BEST_EFFORT 	"Best effort"
VAL 	1 	PFI_SIGNALLING 	"Signalling"
VAL 	2 	PFI_SMS 	"SMS"

VALTAB 	VAL_pdp_type_org
VAL 	DEF 	 	"ETSI allocated address (PPP)"
VAL 	0 	ETSI_ORG 	"ETSI allocated address (PPP)"
VAL 	1 	IETF_ORG 	"IETF allocated address"
VAL 	15 	PDP_MT 	"Dynamic PDP addressing is applied, (uplink only)"

VALTAB 	VAL_pdp_type_no
VAL 	DEF 	 	"IPv4 address"
VAL 	0b00000001 	PPP_TYPE 	"PDP type PPP"
VAL 	0b00100001 	IP4_TYPE 	"IPv4 address"
VAL 	0b01010111 	IP6_TYPE 	"IPv6 address"

VALTAB 	VAL_radio_prio_val
VAL 	DEF 	 	"priority level 4 (lowest)"
VAL 	1 	RADIO_PRIO_1 	"priority level 1 (highest)"
VAL 	2 	RADIO_PRIO_2 	"priority level 2"
VAL 	3 	RADIO_PRIO_3 	"priority level 3"
VAL 	4 	RADIO_PRIO_4 	"priority level 4 (lowest)"

VALTAB 	VAL_sm_cause_val
VAL 	DEF 	 	"Service option temporarily out of order"
VAL 	0b00011001 	CAUSE_LLC_OR_SNDCP_FAILURE 	"LLC or SNDCP failure"
VAL 	0b00011010 	CAUSE_INSUFFICIENT_RESOURCES 	"Insufficient resources"
VAL 	0b00011011 	CAUSE_MISSING_OR_UNKNOWN_APN 	"Missing or unknown APN"
VAL 	0b00011100 	CAUSE_UNKNOWN_PDP_ADDR_OR_TYPE 	"Unknown PDP address or PDP type"
VAL 	0b00011101 	CAUSE_USER_AUTH_FAILED 	"User Aauthentication failed"
VAL 	0b00011110 	CAUSE_ACTIVATE_REJECTED_BY_GGSN 	"Activation rejected by GGSN"
VAL 	0b00011111 	CAUSE_ACTIVATE_REJECTED_UNSPEC 	"Activation rejected, unspecified"
VAL 	0b00100000 	CAUSE_SERVICE_NOT_SUPPORTED 	"Service option not supported"
VAL 	0b00100001 	CAUSE_SERVICE_NOT_SUBSCRIBED 	"Requested service option not subscribed"
VAL 	0b00100010 	CAUSE_SERVICE_TEMP_OUT_OF_ORDER 	"Service option temporarily out of order"
VAL 	0b00100011 	CAUSE_NSAPI_IN_USE 	"NSAPI already used"
VAL 	0b00100100 	CAUSE_REGULAR_DEACTIVATION 	"Regular deactivation"
VAL 	0b00100101 	CAUSE_QOS_NOT_ACCEPTED 	"QoS not accepted"
VAL 	0b00100110 	CAUSE_NETWORK_FAILURE 	"Network failure"
VAL 	0b00100111 	CAUSE_REACTIVATION_REQUESTED 	"Reactivation requested"
VAL 	0b00101000 	CAUSE_FEATURE_NOT_SUPPORTED 	"Feature not supported (context activation)"
VAL 	0b00101001 	CAUSE_SEMANTIC_TFT_ERROR 	"Semantic error in TFT operation"
VAL 	0b00101010 	CAUSE_SYNTACTIC_TFT_ERROR 	"Syntactical error in TFT operation"
VAL 	0b00101011 	CAUSE_UNKNOWN_LINKED_TI 	"Unknown PDP context (identified by linked TI)"
VAL 	0b00101100 	CAUSE_SEMANTIC_TFT_FILTER_ERROR 	"Semantic error in packet filter"
VAL 	0b00101101 	CAUSE_SYNTACTIC_TFT_FILTER_ERROR 	"Syntactical error in packet filter"
VAL 	0b00101110 	CAUSE_CONTEXT_NEEDS_TFT 	"PDP context without TFT already activated"
VAL 	0b01010001 	CAUSE_INVALID_TI 	"Invalid transaction identifier value"
VAL 	0b01011111 	CAUSE_SEMANTIC_ERROR_IN_MSG 	"Semantically incorrect message"
VAL 	0b01100000 	CAUSE_INVALID_MANDATORY_ELEMENT 	"Invalid mandatory information"
VAL 	0b01100001 	CAUSE_MSG_TYPE_NOT_IMPL 	"Message type non-existent or not implemented"
VAL 	0b01100010 	CAUSE_MSG_TYPE_INCOMPATIBLE_WITH_STATE 	"Message type not compatible with the protocol state"
VAL 	0b01100011 	CAUSE_IE_NOT_IMPLEMENTED 	"Information element non-existent or not implemented"
VAL 	0b01100100 	CAUSE_CONDITIONAL_IE_ERROR 	"Conditional IE error"
VAL 	0b01100101 	CAUSE_MSG_INCOMPATIBLE_WITH_STATE 	"Message not compatible with the protocol state"
VAL 	0b01101111 	CAUSE_PROTOCOL_ERROR_UNSPEC 	"Protocol error, unspecified"

VALTAB 	VAL_tft_opcode
VAL 	DEF 	 	"Reserved"
VAL 	0 	TFT_OPCODE_SPARE 	"Spare"
VAL 	1 	TFT_OPCODE_CREATE_TFT 	"Create new TFT"
VAL 	2 	TFT_OPCODE_DELETE_TFT 	"Delete existing TFT"
VAL 	3 	TFT_OPCODE_ADD_FILTERS 	"Add packet filters to existing TFT"
VAL 	4 	TFT_OPCODE_REPLACE_FILTERS 	"Replace packet filters in existing TFT"
VAL 	5 	TFT_OPCODE_DELETE_FILTERS 	"Delete packet filters from existing TFT"




VAR 	nsapi_val 	"NSAPI value" 	
 	4

VAL 	@m_sm - VAL_nsapi_val@ 	

VAR 	delay 	"delay class" 	
 	3

VAL 	@m_sm - VAL_delay@ 	

VAR 	reliability 	"reliability class" 	
 	3

VAL 	@m_sm - VAL_reliability@ 	

VAR 	msg_type 	"message type" 	
 	8


VAR 	sapi 	"SAPI" 	
 	4

VAL 	@m_sm - VAL_sapi@ 	

VAR 	peak 	"peak throughput" 	
 	4

VAL 	@m_sm - VAL_peak@ 	

VAR 	precedence 	"Precedence class" 	
 	3

VAL 	@m_sm - VAL_precedence@ 	

VAR 	mean 	"Mean throughput" 	
 	5

VAL 	@m_sm - VAL_mean@ 	

VAR 	tc 	"traffic class" 	
 	3

VAL 	@m_sm - VAL_tc@ 	

VAR 	order 	"delivery order" 	
 	2

VAL 	@m_sm - VAL_order@ 	

VAR 	del_err_sdu 	"deliver erroneous SDUs" 	
 	3

VAL 	@m_sm - VAL_del_err_sdu@ 	

VAR 	max_sdu 	"maximum SDU size" 	
 	8

VAL 	@m_sm - VAL_max_sdu@ 	

VAR 	max_br_ul 	"maximum uplink bit-rate" 	
 	8

VAL 	@m_sm - VAL_max_br_ul@ 	

VAR 	max_br_dl 	"maximum downlink bit-rate" 	
 	8

VAL 	@m_sm - VAL_max_br_dl@ 	

VAR 	ber 	"residual BER" 	
 	4

VAL 	@m_sm - VAL_ber@ 	

VAR 	sdu_err_ratio 	"SDU error ratio" 	
 	4

VAL 	@m_sm - VAL_sdu_err_ratio@ 	

VAR 	xfer_delay 	"transfer delay" 	
 	6

VAL 	@m_sm - VAL_xfer_delay@ 	

VAR 	handling_pri 	"Traffic handling priority" 	
 	2

VAL 	@m_sm - VAL_handling_pri@ 	

VAR 	guar_br_ul 	"guaranteed bit-rate uplink" 	
 	8

VAL 	@m_sm - VAL_guar_br_ul@ 	

VAR 	guar_br_dl 	"guaranteed bit-rate downlink" 	
 	8

VAL 	@m_sm - VAL_guar_br_dl@ 	

VAR 	apn_value 	"access point name value" 	
 	8


VAR 	pfi_val 	"packet flow identifier value" 	
 	7

VAL 	@m_sm - VAL_pfi_val@ 	

VAR 	pdp_type_org 	"PDP type organisation" 	
 	4

VAL 	@m_sm - VAL_pdp_type_org@ 	

VAR 	pdp_type_no 	"PDP type number" 	
 	8

VAL 	@m_sm - VAL_pdp_type_no@ 	

VAR 	radio_prio_val 	"Radio priority value" 	
 	3

VAL 	@m_sm - VAL_radio_prio_val@ 	

VAR 	sm_cause_val 	"SM cause value" 	
 	8

VAL 	@m_sm - VAL_sm_cause_val@ 	

VAR 	add_info 	"adress information" 	
 	8


VAR 	tear_down_flag 	"tear down flag" 	
 	1


VAR 	ti_flag 	"TI flag" 	
 	1


VAR 	ti_val 	"Extended TI value" 	
 	3


VAR 	ti_ext_flag 	"Extended TI flag" 	
 	1


VAR 	ti_ext_val 	"Extended TI value" 	
 	7


VAR 	pco_value 	"protocol config value" 	
 	8


VAR 	tlv_len 	"TLV length information" 	
 	8


VAR 	tft_opcode 	"TFT operation code" 	
 	3

VAL 	@m_sm - VAL_tft_opcode@ 	

VAR 	tft_filter_count 	"TFT filter count" 	
 	4


VAR 	tft_filter_id 	"TFT packet filter ID" 	
 	8


VAR 	tft_filter_prio 	"TFT packet filter precedence/prioroty" 	
 	8


VAR 	src_addr 	"IP address" 	
 	8


VAR 	addr_mask 	"IP address" 	
 	8


VAR 	tft_protocol_val 	"IPv4 protocol/IPv6 next header" 	
 	8


VAR 	low_limit 	"low limit" 	
 	16


VAR 	high_limit 	"high limit" 	
 	16


VAR 	ipsec_spi_value 	"IPSec SPI value" 	
 	32


VAR 	tos_value 	"type of service value" 	
 	8


VAR 	tos_mask 	"type of service mask" 	
 	8


VAR 	flow_label_value 	"IPv6 flow label" 	
 	24





COMP 	nsapi 	"network service access point identifier"
{
 	.0000  ; spare
 	 	nsapi_val 	 ; NSAPI value
}



COMP 	llc_sapi 	"LLC service access point identifier"
{
 	.0000  ; spare
 	 	sapi 	 ; LLC SAPI value
}



COMP 	qos_r97 	"quality of service R97"
{
 	.00  ; spare
 	 	delay 	 ; delay class
 	 	reliability 	 ; reliability class
 	 	peak 	 ; peak throughput
 	.0  ; spare
 	 	precedence 	 ; precedence class
 	.000  ; spare
 	 	mean 	 ; mean throughput
}



COMP 	qos_r99 	"quality of service R99"
{
 	 	tc 	 ; traffic class
 	 	order 	 ; delivery order
 	 	del_err_sdu 	 ; delivery of erroneous SDU
 	 	max_sdu 	 ; maximum SDU size
 	 	max_br_ul 	 ; maximum uplink bit-rate
 	 	max_br_dl 	 ; maximum downlink bit-rate
 	 	ber 	 ; residual BER
 	 	sdu_err_ratio 	 ; SDU error ratio
 	 	xfer_delay 	 ; transfer delay
 	 	handling_pri 	 ; traffic handling priority
 	 	guar_br_ul 	 ; guaranteed upink bit-rate
 	 	guar_br_dl 	 ; guaranteed downlink bit-rate
}



COMP 	qos 	"quality of service"
{
 	NO_CODE  	tlv_len 	 ; Length of IE
 	GSM3_V  	qos_r97 	 ; QoS R97
 	< (tlv_len > SIZE_R99_QOS - 1) 	GSM3_V  	qos_r99 	> 	 ; QoS R99
}



COMP 	address 	"packet data protocol address"
{
 	.0000  ; spare
 	 	pdp_type_org 	 ; PDP type organisation
 	 	pdp_type_no 	 ; PDP type number
 	 	add_info 	[0..16] 	 ; address information
}



COMP 	apn 	"access point name"
{
 	 	apn_value 	[3..102] 	 ; access point name value
}



COMP 	pco 	"protocol information options"
{
 	 	pco_value 	[2..253] 	 ; options
}



COMP 	radio_prio 	"radio priority"
{
 	.0  ; spare
 	 	radio_prio_val 	 ; radio priority value
}



COMP 	linked_ti 	"linked TI"
{
 	 	ti_flag 	 ; TI flag
 	 	ti_val 	 ; TI value
 	.0000  ; spare
 	< (ti_val=7) 	 	ti_ext_flag 	> 	 ; TI ext flag
 	< (ti_val=7) 	 	ti_ext_val 	> 	 ; extended TI value
}



COMP 	tear_down 	"tear down indicator"
{
 	.000  ; spare
 	 	tear_down_flag 	 ; TDI flag
}



COMP 	sm_cause 	"SM cause"
{
 	 	sm_cause_val 	 ; SM cause value
}



COMP 	pfi 	"packet flow identifier"
{
 	.0  ; spare
 	 	pfi_val 	 ; packet  flow identifier value
}



COMP 	tft_ipv4_addr_mask 	"IPv4 Source Address and Mask"
{
 	 	src_addr 	[4] 	 ; source address
 	 	addr_mask 	[4] 	 ; address mask
}



COMP 	tft_ipv6_addr_mask 	"IPv6 Source Address and Mask"
{
 	 	src_addr 	[16] 	 ; source address
 	 	addr_mask 	[16] 	 ; address mask
}



COMP 	tft_protocol 	"IPv4 Protocol / IPv6 Next Header"
{
 	 	tft_protocol_val 	 ; IPv4 Protocol / IPv6 Next Header
}



COMP 	tft_dest_port_range 	"destination port range"
{
 	 	low_limit 	 ; low limit
 	 	high_limit 	 ; high limit
}
TYPEDEF COMP tft_dest_port_range 	tft_src_port_range 	"source port range"



COMP 	tft_dest_port 	"single destination port"
{
 	 	low_limit 	 ; low limit
}
TYPEDEF COMP tft_dest_port 	tft_src_port 	"single source port"



COMP 	tft_ipsec_spi 	"IPSec SPI"
{
 	 	ipsec_spi_value 	 ; IPSec SPI value
}



COMP 	tft_tos_and_mask 	"Type of service/mask"
{
 	 	tos_value 	 ; type of service
 	 	tos_mask 	 ; mask
}



COMP 	tft_flow_label 	"flow label"
{
 	 	flow_label_value 	 ; flow label value
}



COMP 	tft_filter_entry 	"traffic flow template"
{
 	GSM3_TV  	tft_ipv4_addr_mask 	0x10 	 ; IPv4 src addr/mask
 	GSM3_TV  	tft_ipv6_addr_mask 	0x20 	 ; IPv6 src addr/mask
 	GSM3_TV  	tft_protocol 	0x30 	 ; protocol/next hdr
 	GSM3_TV  	tft_dest_port_range 	0x40 	 ; destination port range
 	GSM3_TV  	tft_dest_port 	0x41 	 ; single destination port
 	GSM3_TV  	tft_src_port_range 	0x50 	 ; source port range
 	GSM3_TV  	tft_src_port 	0x51 	 ; single source port
 	GSM3_TV  	tft_ipsec_spi 	0x60 	 ; IPSec SPI
 	GSM3_TV  	tft_tos_and_mask 	0x70 	 ; Type of Service/mask
 	GSM3_TV  	tft_flow_label 	0x80 	 ; IPv6 flow label
}



COMP 	tft_filter 	"traffic flow template packet filter"
{
 	 	tft_filter_id 	 ; packet filter identifier
 	 	tft_filter_prio 	 ; evaluation precedence
 	GSM4_LV  	tft_filter_entry 	 ; packet filters entry
}



COMP 	tft 	"traffic flow template"
{
 	 	tft_opcode 	 ; TFT operation code
 	.0  ; spare
 	 	tft_filter_count 	 ; packet filters count
 	< (tft_opcode=TFT_OPCODE_DELETE_FILTERS) 	 	tft_filter_id 	[tft_filter_count..8] 	> 	 ; packet filter identifiers
 	< (tft_opcode=TFT_OPCODE_CREATE_TFT OR tft_opcode=TFT_OPCODE_ADD_FILTERS OR tft_opcode=TFT_OPCODE_REPLACE_FILTERS) 	GSM3_V  	tft_filter 	[tft_filter_count..8] 	> 	 ; packet filter list
}






MSG 	activate_pdp_context_request 	uplink 	65 ; activate PDP context request
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	nsapi 	 ; requested NSAPI
 	GSM3_V  	llc_sapi 	 ; requested LLC sapi
 	GSM4_LV  	qos 	 ; requested QoS
 	GSM4_LV  	address 	 ; requested PDP address
 	GSM4_TLV  	apn 	0x28 	 ; access point name
 	GSM4_TLV  	pco 	0x27 	 ; protocol configuration options
}



MSG 	activate_pdp_context_accept 	downlink 	66 ; activate PDP context accept
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	llc_sapi 	 ; negotiated LLC SAPI
 	GSM4_LV  	qos 	 ; negotiated QoS
 	GSM1_V  	radio_prio 	 ; radio priority
 	.0000  ; spare half octet
 	GSM4_TLV  	address 	0x2B 	 ; packet data protocol address
 	GSM4_TLV  	pco 	0x27 	 ; protocol configuration options
 	GSM4_TLV  	pfi 	0x34 	 ; packet flow identifier
}



MSG 	activate_pdp_context_reject 	downlink 	67 ; activate PDP context reject
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	sm_cause 	 ; SM cause
 	GSM4_TLV  	pco 	0x27 	 ; protocol configuration options
}



MSG 	activate_secondary_pdp_context_request 	uplink 	77 ; activate secondary PDP context request
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	nsapi 	 ; requested NSAPI
 	GSM3_V  	llc_sapi 	 ; requested LLC sapi
 	GSM4_LV  	qos 	 ; requested QoS
 	GSM4_LV  	linked_ti 	 ; linked TI
 	GSM4_TLV  	tft 	0x36 	 ; traffic flow template
}



MSG 	activate_secondary_pdp_context_accept 	downlink 	78 ; activate secondary PDP context accept
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	llc_sapi 	 ; negotiated LLC SAPI
 	GSM4_LV  	qos 	 ; negotiated QoS
 	GSM1_V  	radio_prio 	 ; radio priority
 	.0000  ; spare half octet
 	GSM4_TLV  	pfi 	0x34 	 ; packet flow identifier
}



MSG 	activate_secondary_pdp_context_reject 	downlink 	79 ; activate secondary PDP context reject
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	sm_cause 	 ; SM cause
}



MSG 	request_pdp_context_activation 	downlink 	68 ; request PDP context activation
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM4_LV  	address 	 ; offered PDP address
 	GSM4_TLV  	apn 	0x28 	 ; access point name
}



MSG 	request_pdp_context_activation_reject 	uplink 	69 ; request PDP context activation reject
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	sm_cause 	 ; SM cause
}



MSG 	D_modify_pdp_context_request 	downlink 	72 ; Modify PDP context request
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM1_V  	radio_prio 	 ; radio priority
 	.0000  ; spare half octet
 	GSM3_V  	llc_sapi 	 ; requested LLC sapi
 	GSM4_LV  	qos 	 ; new QoS
 	GSM4_TLV  	address 	0x2b 	 ; PDP address
 	GSM4_TLV  	pfi 	0x34 	 ; packet flow identifier
}



MSG 	U_modify_pdp_context_request 	uplink 	74 ; Modify PDP context request (MO)
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_TV  	llc_sapi 	0x32 	 ; requested LLC sapi
 	GSM4_TLV  	qos 	0x30 	 ; requested QoS
 	GSM4_TLV  	tft 	0x31 	 ; new traffic flow template
}



MSG 	U_modify_pdp_context_accept 	uplink 	73 ; Modify PDP context accept
{
 	GSM3_V  	msg_type 	 ; Message type
}



MSG 	D_modify_pdp_context_accept 	downlink 	75 ; Modify PDP context accept (MO)
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM4_TLV  	qos 	0x30 	 ; negotiated QoS
 	GSM3_TV  	llc_sapi 	0x32 	 ; negotiated LLC SAPI
 	GSM1_TV  	radio_prio 	0x8 	 ; radio priority
 	GSM4_TLV  	pfi 	0x34 	 ; packet flow identifier
}



MSG 	modify_pdp_context_reject 	downlink 	76 ; modify PDP context reject
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	sm_cause 	 ; SM cause
}



MSG 	deactivate_pdp_context_request 	both 	70 ; deactivate PDP context request
{
 	GSM3_V  	msg_type 	 ; Message type
 	GSM3_V  	sm_cause 	 ; SM cause
 	GSM1_TV  	tear_down 	0x9 	 ; Tear down indicator
}



MSG 	deactivate_pdp_context_accept 	both 	71 ; deactivate PDP context accept
{
 	GSM3_V  	msg_type 	 ; message type
}



MSG 	sm_status 	both 	85 ; SM status
{
 	GSM3_V  	msg_type 	 ; message type
 	GSM3_V  	sm_cause 	 ; SM cause
}