sccp: Add TC_callingparty_ssn_only()

This test verifies that libosmo-sccp will properly respond to SCCP
traffic that only has a SSN in the CallingPartyAddress.  That situation
poses the unique challenge of how to route a response, as we lack
a GT and a PC to do the routing.

In order to support this, libosm-sccp now adds the PC into the
CallingPartyAddr when passing such messages from M3UA to SCCP. This
way the recipient can simply respond back to that address and it will
be routed on PC.

Change-Id: Ided599a922fb7f6dbbfe90f817c5419ab793f293
Related: OS#5146
diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn
index 55bf745..5167e4b 100644
--- a/library/SCCP_Templates.ttcn
+++ b/library/SCCP_Templates.ttcn
@@ -15,6 +15,19 @@
 import from SCCPasp_Types all;
 import from SCCP_Emulation all;
 
+/* construct a SCCP_PAR_Address with just SSN and no PC or GT */
+template (value) SCCP_PAR_Address ts_SccpAddr_SSN(integer ssn) := {
+	addressIndicator := {
+		pointCodeIndic := '0'B,
+		ssnIndicator := '1'B,
+		globalTitleIndic := '0000'B,
+		routingIndicator := '1'B
+	},
+	signPointCode := omit,
+	subsystemNumber := ssn,
+	globalTitle := omit
+}
+
 /* construct a SCCP_PAR_Address with just PC + SSN and no GT */
 template (value) SCCP_PAR_Address ts_SccpAddr_PC_SSN(integer pc, integer ssn, octetstring sio,
 							charstring sccp_srv_type) := {