diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c
index 2d67219..c118774 100644
--- a/src/hnbgw_hnbap.c
+++ b/src/hnbgw_hnbap.c
@@ -194,10 +194,10 @@
 				   ue_id->choice.tMSILAI.tMSI.size * 8
 				   - ue_id->choice.tMSILAI.tMSI.bits_unused);
 		OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.pLMNID,
-				     ue_id->choice.tMSILAI.lAI.pLMNID.buf,
+				     (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf,
 				     ue_id->choice.tMSILAI.lAI.pLMNID.size);
 		OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.lAC,
-				     ue_id->choice.tMSILAI.lAI.lAC.buf,
+				     (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf,
 				     ue_id->choice.tMSILAI.lAI.lAC.size);
 		break;
 
@@ -227,13 +227,13 @@
 				   ue_id->choice.pTMSIRAI.pTMSI.size * 8
 				   - ue_id->choice.pTMSIRAI.pTMSI.bits_unused);
 		OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID,
-				     ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf,
 				     ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size);
 		OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC,
-				     ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf,
 				     ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size);
 		OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.rAC,
-				     ue_id->choice.pTMSIRAI.rAI.rAC.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf,
 				     ue_id->choice.pTMSIRAI.rAI.rAC.size);
 		break;
 
@@ -312,10 +312,10 @@
 				   - ue_id->choice.tMSILAI.tMSI.bits_unused);
 		tmsi = *(uint32_t*)accept.uE_Identity.choice.tMSILAI.tMSI.buf;
 		OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.pLMNID,
-				     ue_id->choice.tMSILAI.lAI.pLMNID.buf,
+				     (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf,
 				     ue_id->choice.tMSILAI.lAI.pLMNID.size);
 		OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.lAC,
-				     ue_id->choice.tMSILAI.lAI.lAC.buf,
+				     (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf,
 				     ue_id->choice.tMSILAI.lAI.lAC.size);
 		break;
 
@@ -326,13 +326,13 @@
 				   - ue_id->choice.pTMSIRAI.pTMSI.bits_unused);
 		tmsi = *(uint32_t*)accept.uE_Identity.choice.pTMSIRAI.pTMSI.buf;
 		OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID,
-				     ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf,
 				     ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size);
 		OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC,
-				     ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf,
 				     ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size);
 		OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.rAC,
-				     ue_id->choice.pTMSIRAI.rAI.rAC.buf,
+				     (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf,
 				     ue_id->choice.pTMSIRAI.rAI.rAC.size);
 		break;
 
diff --git a/src/rua_msg_factory.c b/src/rua_msg_factory.c
index 268f6ac..7a6bebd 100644
--- a/src/rua_msg_factory.c
+++ b/src/rua_msg_factory.c
@@ -16,7 +16,7 @@
 	int rc;
 
 	memset(&ies, 0, sizeof(ies));
-	OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg));
+	OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg));
 	msgb_free(inmsg);
 
 	memset(&out, 0, sizeof(out));
@@ -53,7 +53,7 @@
 		ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain;
 	asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id);
 	ies.establishment_Cause = RUA_Establishment_Cause_normal_call;
-	OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg));
+	OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg));
 	msgb_free(inmsg);
 
 	memset(&out, 0, sizeof(out));
@@ -89,7 +89,7 @@
 	else
 		ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain;
 	asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id);
-	OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg));
+	OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg));
 	msgb_free(inmsg);
 
 	memset(&out, 0, sizeof(out));
@@ -130,7 +130,7 @@
 	ies.cause.choice.radioNetwork = RUA_CauseRadioNetwork_normal;
 	if (inmsg && inmsg->data&& msgb_length(inmsg)) {
 		ies.presenceMask |= DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT;
-		OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg));
+		OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg));
 	}
 	msgb_free(inmsg);
 
