BSSMAP: Fix L3 sequence number for ComplL3(Paging Response)

The existing code generating L3 sequence numbers in MO direction
made the assumption that the L3 message inside ComplL3 would always
be MM/CM, and increment the sequence number.

However, in case of a paging response, it is actually RR, which
does *not* have L3 sequence counters.  So we must make the sequence
counter increment dependant on the L3 protocol discriminator.

Change-Id: I25a5dd0c180c9acfa870984c6b122ac0c46383b3
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index d4e278b..cd94ad1 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -921,6 +921,32 @@
 	}
 }
 
+/* return Layer3 octetstring inside BSSAP PDU */
+function f_bssap_extract_l3(PDU_BSSAP bssap) return template octetstring {
+	if (ischosen(bssap.pdu.bssmap)) {
+		var PDU_BSSMAP bssmap := bssap.pdu.bssmap;
+		if (ischosen(bssmap.completeLayer3Information)) {
+			return bssmap.completeLayer3Information.layer3Information.layer3info;
+		} else if (ischosen(bssmap.handoverRequestAck)) {
+			return bssmap.handoverRequestAck.layer3Information.layer3info;
+		} else if (ischosen(bssmap.handoverCommand)) {
+			return bssmap.handoverCommand.layer3Information.layer3info;
+		} else if (ischosen(bssmap.uplinkRequest)) {
+			return bssmap.uplinkRequest.layer3Information.layer3info;
+		} else if (ischosen(bssmap.uplinkRequestConfirmation)) {
+			return bssmap.uplinkRequestConfirmation.layer3Information.layer3info;
+		} else if (ischosen(bssmap.uplinkApplicationData)) {
+			return bssmap.uplinkApplicationData.layer3Information.layer3info;
+		} else if (ischosen(bssmap.rerouteCommand)) {
+			return bssmap.rerouteCommand.initialLayer3Information.layer3info;
+		} else {
+			return omit;
+		}
+	} else {
+		return bssap.pdu.dtap;
+	}
+}
+