rua: also match on RUA Disconnect without RANAP payload

Add tr_RUA_Disconnect_opt_ranap that matches RUA Disconnect with and
without RANAP payload.

Use this in RUA_Emulation as_main_rua(), to trigger a RUA_Disc_Ind to
the CLIENT also for Disconnect without RANAP data.

Rationale:

This patch exists for the line

  RUA.receive(RUA_Disc_Ind:?);

in the TC_apply_sccp patch Ia1ff0cb56893edf045ea3cb3233882ca93445d21

In upcoming HNBGW_Tests.TC_apply_sccp, I want to test for an ungraceful
RUA Disconnect, which is sent without a RANAP payload. But
tr_RUA_Disconnect only matches when a RANAP Message IE is present. In
consequence, RUA_Emulation ignores "empty" RUA Disconnect, and my test
case cannot verify that the RUA Disconnect occurred. Fix that.

Change-Id: Ia0b89e9198794d196a88040ee89bdf24f3b08ae0
diff --git a/library/rua/RUA_Templates.ttcn b/library/rua/RUA_Templates.ttcn
index ee65412..738042e 100644
--- a/library/rua/RUA_Templates.ttcn
+++ b/library/rua/RUA_Templates.ttcn
@@ -231,6 +231,38 @@
 	}
 }
 
+/* Same as tr_RUA_Disconnect() but without a ranap arg: match also a RUA Disconnect without any RANAP payload. */
+template (present) RUA_PDU
+tr_RUA_Disconnect_opt_ranap(template (present) CN_DomainIndicator domain := ?,
+			    template (present) bitstring context_id := ?,
+			    template (present) Cause cause := ?) := {
+	initiatingMessage := {
+		procedureCode := 3,
+		criticality := reject,
+		value_ := {
+			disconnect_ := {
+				protocolIEs := {
+					{
+						id := 7,
+						criticality := reject,
+						value_ := { cN_DomainIndicator := domain }
+					}, {
+						id := 3,
+						criticality := reject,
+						value_ := { context_ID := context_id }
+					}, {
+						id := 1,
+						criticality := reject,
+						value_ := { cause := cause }
+					},
+					*
+				},
+				protocolExtensions := omit
+			}
+		}
+	}
+}
+
 /* 9.1.6 CONNECTIONLESS TRANSFER */
 template (value) RUA_PDU
 ts_RUA_ConnectionlessTransfer(template (value) octetstring ranap_msg) := {