IPA_Emulation: Send ASP_IPA_EVENT_UP even in client mode
diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn
index db5012c..87ef6d2 100644
--- a/library/Osmocom_CTRL_Types.ttcn
+++ b/library/Osmocom_CTRL_Types.ttcn
@@ -6,8 +6,8 @@
variant "TEXT_CODING(,convert=upper_case,'((GET)|(SET)|(TRAP))',case_insensitive)"
};
-type charstring CtrlReplyToken ("REPLY") with {
- variant "TEXT_CODING(,convert=upper_case,'(REPLY)',case_insensitive)"
+type charstring CtrlReplyVerb ("GET_REPLY", "SET_REPLY") with {
+ variant "TEXT_CODING(,convert=upper_case,'((GET_REPLY)|(SET_REPLY))',case_insensitive)"
};
type charstring CtrlId (pattern "\d#(1,9)");
@@ -26,13 +26,11 @@
};
type record CtrlResponse {
- CtrlVerb verb,
- CtrlReplyToken repl,
+ CtrlReplyVerb verb,
CtrlId id,
CtrlVariable variable,
CtrlValue val
} with {
- variant "TEXT_CODING(,,'* REPLY *',case_insensitive)"
variant "SEPARATOR(' ',)"
};
@@ -66,4 +64,57 @@
with { extension "prototype(convert) decode(TEXT)"};
+template CtrlMessage ts_CtrlMsgGet(CtrlId id, CtrlVariable variable) := {
+ cmd := {
+ verb := "GET",
+ id := id,
+ variable := variable,
+ val := omit
+ }
+};
+
+template CtrlMessage ts_CtrlMsgSet(CtrlId id, CtrlVariable variable, CtrlValue val) := {
+ cmd := {
+ verb := "SET",
+ id := id,
+ variable := variable,
+ val := omit
+ }
+}
+
+template CtrlMessage tr_CtrlMsgGetRepl(template CtrlId id, template CtrlVariable variable := ?) := {
+ resp := {
+ verb := "GET_REPLY",
+ id := id,
+ variable := variable,
+ val := ?
+ }
+}
+
+template CtrlMessage tr_CtrlMsgSetRepl(template CtrlId id, template CtrlVariable variable := ?,
+ template CtrlValue val := ?) := {
+ resp := {
+ verb := "SET_REPLY",
+ id := id,
+ variable := variable,
+ val := val
+ }
+}
+
+template CtrlMessage tr_CtrlMsgTrap(template CtrlVariable variable := ?,
+ template CtrlValue val := ?) := {
+ trap := {
+ variable := variable,
+ val := val
+ }
+}
+
+template CtrlMessage tr_CtrlMsgError(template CtrlId id := ?, template CtrlReason reason := ?) := {
+ err := {
+ id := id,
+ reason := reason
+ }
+}
+
+
} with { encode "TEXT" }