msc: Add SMPP tests for MO + MT SMS

Change-Id: I5349559c7c3096533fb07fcf53f0a44ff7f6567f
diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn
index 9258fa5..2b74694 100644
--- a/library/Osmocom_VTY_Functions.ttcn
+++ b/library/Osmocom_VTY_Functions.ttcn
@@ -108,11 +108,14 @@
 		f_vty_transceive(pt, "timeslot " & int2str(ts));
 	}
 
-function f_vty_config(TELNETasp_PT pt, charstring config_node, charstring cmd)
+type record of charstring rof_charstring;
+function f_vty_config2(TELNETasp_PT pt, rof_charstring config_nodes, charstring cmd)
 {
 	/* enter config mode; enter node */
 	f_vty_enter_config(pt);
-	f_vty_transceive(pt, config_node);
+	for (var integer i := 0; i < sizeof(config_nodes); i := i+1) {
+		f_vty_transceive(pt, config_nodes[i]);
+	}
 	/* execute command */
 	f_vty_transceive(pt, cmd);
 	/* leave config mode */
@@ -120,4 +123,10 @@
 }
 
 
+function f_vty_config(TELNETasp_PT pt, charstring config_node, charstring cmd)
+{
+	f_vty_config2(pt, {config_node}, cmd);
+}
+
+
 }
diff --git a/library/SMPP_Templates.ttcn b/library/SMPP_Templates.ttcn
index 9a56cf2..2ff675d 100644
--- a/library/SMPP_Templates.ttcn
+++ b/library/SMPP_Templates.ttcn
@@ -119,6 +119,21 @@
 	}
 }
 
+template (value) SMPP_PDU ts_SMPP_SUBMIT_SM(SMPP_SM sm) := {
+	header := ts_SMPP_hdr(c_SMPP_command_id_submit_sm, ESME_ROK),
+	body := {
+		submit_sm := sm
+	}
+}
+
+/* Section 5.2.12 esm_class */
+template SMPP_BIT1 tr_ESM_CLASS_DEFAULT := '??????00'B;
+template SMPP_BIT1 tr_ESM_CLASS_DATAGRAM := '??????01'B;
+template SMPP_BIT1 tr_ESM_CLASS_TRANSACTION := '??????10'B;
+template SMPP_BIT1 tr_ESM_CLASS_STORE_FORWARD := '??????11'B;
+template SMPP_BIT1 tr_ESM_CLASS_UDHI := '?1??????'B;
+template SMPP_BIT1 tr_ESM_CLASS_REPLYP_PATH := '1???????'B;
+