lib: gtp: Add templates to send ErrorIndiciation
Change-Id: I7c20bc3b62a953efe57eb05a8ba89f9f0830a816
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index a9d2394..d0a87e3 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -667,6 +667,31 @@
gtpu := ts_GTP1U_PDU(echoResponse, seq, '00000000'O, valueof(ts_UEchoRespPDU(rest_ctr)))
}
+ template GSNAddress_gtpu ts_UGsnAddr(octetstring ip_addr) := {
+ type_gtpu := '85'O,
+ lengthf := lengthof(ip_addr),
+ gSNAddressValue := ip_addr
+ }
+
+ template TeidDataI_gtpu ts_UteidDataI(OCT4 teid) := {
+ type_gtpu := '10'O,
+ teidDataI := teid
+ }
+
+ template GTPU_IEs ts_UErrorIndication(OCT4 teid, octetstring gsn_addr) := {
+ errorIndication_IEs := {
+ teidDataI_gtpu := ts_UteidDataI(teid),
+ gSNAddress_gtpu := ts_UGsnAddr(gsn_addr),
+ private_extension_gtpu := omit
+ }
+ }
+
+ /* master template for sending a GTP-U Error indication */
+ template Gtp1uUnitdata ts_GTPU_ErrorIndication(GtpPeer peer, uint16_t seq, OCT4 teid, octetstring gsn_addr) := {
+ peer := peer,
+ gtpu := ts_GTP1U_PDU('1A'O, seq, '00000000'O, valueof(ts_UErrorIndication(teid, gsn_addr)))
+ }
+
/* master template for sending a GTP-U user plane data */
template Gtp1uUnitdata ts_GTP1U_GPDU(GtpPeer peer, template (omit) uint16_t seq, OCT4 teid, octetstring data) := {
peer := peer,