diff --git a/src/ranap_common.c b/src/ranap_common.c
index 0e2ef6a..8c212d3 100644
--- a/src/ranap_common.c
+++ b/src/ranap_common.c
@@ -112,9 +112,9 @@
 	memset(&pdu, 0, sizeof(pdu));
 
 	pdu.present = RANAP_RANAP_PDU_PR_unsuccessfulOutcome;
-	pdu.choice.successfulOutcome.procedureCode = procedureCode;
-	pdu.choice.successfulOutcome.criticality = criticality;
-	rc = ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
+	pdu.choice.unsuccessfulOutcome.procedureCode = procedureCode;
+	pdu.choice.unsuccessfulOutcome.criticality = criticality;
+	rc = ANY_fromType_aper(&pdu.choice.unsuccessfulOutcome.value, td, sptr);
 	if (rc < 0) {
 		LOGP(DMAIN, LOGL_ERROR, "Error in ANY_fromType_aper\n");
 		return NULL;
@@ -123,6 +123,30 @@
 	return _ranap_gen_msg(&pdu);
 }
 
+struct msgb *ranap_generate_outcome(
+				e_RANAP_ProcedureCode procedureCode,
+				RANAP_Criticality_t criticality,
+				asn_TYPE_descriptor_t * td,
+				void *sptr)
+{
+	RANAP_RANAP_PDU_t pdu;
+	int rc;
+
+	memset(&pdu, 0, sizeof(pdu));
+
+	pdu.present = RANAP_RANAP_PDU_PR_outcome;
+	pdu.choice.outcome.procedureCode = procedureCode;
+	pdu.choice.outcome.criticality = criticality;
+	rc = ANY_fromType_aper(&pdu.choice.outcome.value, td, sptr);
+	if (rc < 0) {
+		LOGP(DMAIN, LOGL_ERROR, "Error in ANY_fromType_aper\n");
+		return NULL;
+	}
+
+	return _ranap_gen_msg(&pdu);
+}
+
+
 RANAP_IE_t *ranap_new_ie(RANAP_ProtocolIE_ID_t id,
 			 RANAP_Criticality_t criticality,
 			 asn_TYPE_descriptor_t * type, void *sptr)
diff --git a/src/ranap_common.h b/src/ranap_common.h
index 84b4976..32a4436 100644
--- a/src/ranap_common.h
+++ b/src/ranap_common.h
@@ -607,6 +607,12 @@
 					asn_TYPE_descriptor_t * td,
 					void *sptr);
 
+struct msgb *ranap_generate_outcome(
+				e_RANAP_ProcedureCode procedureCode,
+				RANAP_Criticality_t criticality,
+				asn_TYPE_descriptor_t * td,
+				void *sptr);
+
 RANAP_IE_t *ranap_new_ie(RANAP_ProtocolIE_ID_t id, RANAP_Criticality_t criticality,
 			 asn_TYPE_descriptor_t *type, void *sptr);
 
