diff --git a/libvoice/libvoice-priv.h b/libvoice/libvoice-priv.h
index ef1ad7fc0997ec1cf4c9c82cde86c3f82a83a189..e3efe9696f9673954e4091a56394829c23c59576 100644
--- a/libvoice/libvoice-priv.h
+++ b/libvoice/libvoice-priv.h
@@ -6,8 +6,6 @@
 
 #include "libvoice.h"
 
-#define RTP_HEADER_SIZE    12
-
 int voice_line_close(int line);
 const char *voice_event2name(enum VOICE_EVENT evt);
 
diff --git a/libvoice/libvoice.h b/libvoice/libvoice.h
index 196edd5fbcb1663e30799fce268a4536cc0c4d98..7a880f3e39c1fe462780096c0c7fba653c49af4e 100644
--- a/libvoice/libvoice.h
+++ b/libvoice/libvoice.h
@@ -10,6 +10,7 @@
 #include <time.h>
 
 #include <libpicoevent.h>
+#include "libvoicemngr.h"
 
 #define MAX_CALLER_ID_LEN  120 // Max length of caller id string we accept
 #define MAX_KEYPAD_DIGITS  100 // Max number of simulated keypad presses we accept
@@ -96,12 +97,6 @@ enum VOICE_SIGNAL {
 	VOICE_SIG_LAST
 };
 
-typedef enum callid_state {
-	CALLID_INVALID = -1,
-	CALLID_OBTAINING = 0,
-	CALLID_ESTABLISHED = 1
-} callid_state;
-
 enum pcm_id {
 	PCM_0,
 	PCM_1
@@ -168,13 +163,6 @@ struct voice_signal_t {
 	enum VOICE_SIGNAL signal;
 };
 
-struct __attribute__((__packed__)) media_packet_t {
-	int32_t  line;
-	int32_t  connection_id;
-	uint32_t rtp_size;
-	uint8_t  rtp[1];
-};
-
 struct rtp_stats_t {
 	uint16_t local_burst_density;
 	uint16_t remote_burst_density;
@@ -219,26 +207,6 @@ struct codec_capability {
 	} codecs[MAX_CODECS];
 };
 
-// ubus request for set codec
-enum VOICE_CODEC {
-	VOICE_CODEC_G711U,
-	VOICE_CODEC_G711A,
-	VOICE_CODEC_G722,
-	VOICE_CODEC_G723,
-	VOICE_CODEC_G726,
-	VOICE_CODEC_G729,
-};
-
-#define UBUS_DATA_CODEC_BIT  1
-#define UBUS_DATA_PTIME_BIT  (1<<1)
-struct config_update_struct {
-	uint8_t mask; // 8 bit mask
-	enum VOICE_CODEC codec;
-	int ptime;
-	// add more if needed
-};
-
-
 #define ENABLE_VOICE_DEBUG    0 // Enable/disable voice debug
 #if ENABLE_VOICE_DEBUG
 // log to file
diff --git a/libvoice/voice-types.h b/libvoice/voice-types.h
new file mode 100644
index 0000000000000000000000000000000000000000..b719e5eb4dbf3dfad7e1b2626818a5270c497625
--- /dev/null
+++ b/libvoice/voice-types.h
@@ -0,0 +1,42 @@
+/*
+ * Data types and API prototypes that are shared between voicemngr and asterisk-chan-voicemngr
+ */
+#ifndef __VOICE_TYPES_H
+#define __VOICE_TYPES_H
+
+#define RTP_HEADER_SIZE    12
+
+typedef enum callid_state {
+	CALLID_INVALID = -1,
+	CALLID_OBTAINING = 0,
+	CALLID_ESTABLISHED = 1
+} callid_state;
+
+struct __attribute__((__packed__)) media_packet_t {
+	int32_t  line;
+	int32_t  connection_id;
+	uint32_t rtp_size;
+	uint8_t  rtp[1];
+};
+typedef struct __attribute__((__packed__)) media_packet_t audio_packet_t;//used for asterisk-chan-voicemngr
+
+// ubus request for set codec
+enum VOICE_CODEC {
+	VOICE_CODEC_G711U,
+	VOICE_CODEC_G711A,
+	VOICE_CODEC_G722,
+	VOICE_CODEC_G723,
+	VOICE_CODEC_G726,
+	VOICE_CODEC_G729,
+};
+
+#define UBUS_DATA_CODEC_BIT  1
+#define UBUS_DATA_PTIME_BIT  (1<<1)
+struct config_update_struct {
+	uint8_t mask; // 8 bit mask
+	enum VOICE_CODEC codec;
+	int ptime;
+	// add more if needed
+};
+
+#endif