ranap_msg_factory: add Security Mode Complete msg generator

Needed by hnb-test to reply to a Security Mode Command message.
diff --git a/src/ranap_msg_factory.c b/src/ranap_msg_factory.c
index bdae92e..5ca7d96 100644
--- a/src/ranap_msg_factory.c
+++ b/src/ranap_msg_factory.c
@@ -263,6 +263,37 @@
 	return msg;
 }
 
+struct msgb *ranap_new_msg_sec_mod_compl(
+	RANAP_ChosenIntegrityProtectionAlgorithm_t chosen_ip_alg,
+	RANAP_ChosenEncryptionAlgorithm_t chosen_enc_alg)
+{
+	RANAP_SecurityModeCompleteIEs_t ies;
+	RANAP_SecurityModeComplete_t out;
+	struct msgb *msg;
+	int i, rc;
+
+	memset(&ies, 0, sizeof(ies));
+	memset(&out, 0, sizeof(out));
+
+	ies.presenceMask = SECURITYMODECOMPLETEIES_RANAP_CHOSENENCRYPTIONALGORITHM_PRESENT;
+	ies.chosenIntegrityProtectionAlgorithm = chosen_ip_alg;
+	ies.chosenEncryptionAlgorithm = chosen_enc_alg;
+
+	/* ies -> out */
+	rc = ranap_encode_securitymodecompleteies(&out, &ies);
+
+	/* out -> msg */
+	msg = ranap_generate_successful_outcome(RANAP_ProcedureCode_id_SecurityModeControl,
+						RANAP_Criticality_reject,
+						&asn_DEF_RANAP_SecurityModeComplete,
+						&out);
+
+	/* release dynamic allocations attached to out */
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_SecurityModeComplete, &out);
+
+	return msg;
+}
+
 /*! \brief generate RANAP COMMON ID message */
 struct msgb *ranap_new_msg_common_id(const char *imsi)
 {