/** | |
* GTPrecords.java | |
* | |
* GTP and GTP-U records/messages | |
**/ | |
// References to 3GPP TS 29.060 V8.7.0 | |
// IMSI 7.7.2 | |
record IMSI_gtpc | |
{ | |
int type_gtpc; // type = 2 (Decimal) | |
int[] imsi_digits; // 8 octets (15 BCD digits + padding) | |
} | |
//TEI Data I - 7.7.13 | |
// Tunnel Endpoint Identifier Data | |
// Returned by a successful Create PDP Context request, | |
// shall be used for all subsequent uplink G-PDUs related | |
// to the PDP context. | |
record TeidDataI | |
{ | |
int type_gtpc; // type = 16 (Decimal) | |
int[] teidDataI; // 4 octets | |
} | |
//NSAPI - 7.7.17 | |
// Only used if/when multiple contexts are created for a PDP and APN ?? | |
record NSAPI_GTPC { | |
int type_gtpc; // type = 20 (Decimal) | |
int nsapi; // 4 bits [xxxx : NSAPI] | |
} | |
//Charging ID - 7.7.26 | |
record ChargingID { | |
int type_gtpc; // type = 127 (Decimal) | |
int[] chargingID; // 4 octets | |
} | |
// Response cause values | |
const int REQUEST_ACCEPTED = 128; | |
const int SYSTEM_FAILURE = 204; | |
// =================================================== | |
// Requests and responses | |
// ---- Create PDP context ---- | |
// a) request | |
record CreatePDPcontext | |
{ | |
// int[] imsi_digits; | |
// int[] teidDataI; | |
// 100114: use a more abstract representation at model level and | |
// reuse functions in existing TTCN support libraries. For a single | |
// context imsi/teid/nsapi can be handled entirely at TTCN level... | |
String imsi; | |
//int downlinkDataTeid; | |
int nsapi; | |
String apn; | |
} | |
const int IMSI_OCTETS = 8; | |
const int TEID_OCTETS = 4; | |
// b) response | |
record CreatePDPresponse | |
{ | |
int causevalue; | |
//int uplinkDataTeid; // Only applicable if SUCCESS | |
} | |
// ---- Delete PDU context ---- | |
// a) request | |
record DeletePDPcontext | |
{ | |
int nsapi; | |
} | |
// b) response | |
record DeletePDPresponse | |
{ | |
int causevalue; | |
} | |
record UpdatePDPcontext | |
{ | |
int nsapi; | |
//int downlinkDataTeid; | |
} | |
record UpdatePDPresponse | |
{ | |
int causevalue; | |
} | |
// G-PDU | |
record GTPUheader | |
{ | |
int teid; // Date teid of receiving side | |
} | |
record GPDU | |
{ | |
int data; // TODO: representation of payload on model level? | |
} |