diff --git a/libs/freetdm/src/include/zap_m3ua.h b/libs/freetdm/src/include/zap_m3ua.h
index 8819d37252..8dda119361 100644
--- a/libs/freetdm/src/include/zap_m3ua.h
+++ b/libs/freetdm/src/include/zap_m3ua.h
@@ -39,7 +39,46 @@
 
 //#include "m3ua_client.h"
 #include "openzap.h"
+enum	e_sigboost_event_id_values
+{
+	SIGBOOST_EVENT_CALL_START			= 0x80, /*128*/
+	SIGBOOST_EVENT_CALL_START_ACK			= 0x81, /*129*/
+	SIGBOOST_EVENT_CALL_START_NACK			= 0x82, /*130*/
+	SIGBOOST_EVENT_CALL_START_NACK_ACK		= 0x83, /*131*/
+	SIGBOOST_EVENT_CALL_ANSWERED			= 0x84, /*132*/
+	SIGBOOST_EVENT_CALL_STOPPED			= 0x85, /*133*/
+	SIGBOOST_EVENT_CALL_STOPPED_ACK			= 0x86, /*134*/
+	SIGBOOST_EVENT_SYSTEM_RESTART			= 0x87, /*135*/
+	SIGBOOST_EVENT_SYSTEM_RESTART_ACK		= 0x88, /*136*/
+	/* Following IDs are ss7boost to sangoma_mgd only. */
+	SIGBOOST_EVENT_HEARTBEAT			= 0x89, /*137*/
+	SIGBOOST_EVENT_INSERT_CHECK_LOOP		= 0x8a, /*138*/
+	SIGBOOST_EVENT_REMOVE_CHECK_LOOP		= 0x8b, /*139*/
+	SIGBOOST_EVENT_AUTO_CALL_GAP_ABATE		= 0x8c, /*140*/
+};
+enum	e_sigboost_release_cause_values
+{
+	SIGBOOST_RELEASE_CAUSE_UNDEFINED		= 0,
+	SIGBOOST_RELEASE_CAUSE_NORMAL			= 16,
+	SIGBOOST_RELEASE_CAUSE_BUSY			= 17,
+	/* probable elimination */
+	//SIGBOOST_RELEASE_CAUSE_BUSY			= 0x91, /* 145 */
+	//SIGBOOST_RELEASE_CAUSE_CALLED_NOT_EXIST	= 0x92, /* 146 */
+	//SIGBOOST_RELEASE_CAUSE_CIRCUIT_RESET		= 0x93, /* 147 */
+	//SIGBOOST_RELEASE_CAUSE_NOANSWER		= 0x94, /* 148 */
+};
 
+enum	e_sigboost_call_setup_ack_nack_cause_values
+{
+	SIGBOOST_CALL_SETUP_NACK_ALL_CKTS_BUSY		= 117, /* unused Q.850 value */
+	SIGBOOST_CALL_SETUP_NACK_TEST_CKT_BUSY		= 118, /* unused Q.850 value */
+	SIGBOOST_CALL_SETUP_NACK_INVALID_NUMBER		= 28,
+	/* probable elimination */
+	//SIGBOOST_CALL_SETUP_RESERVED			= 0x00,
+	//SIGBOOST_CALL_SETUP_CIRCUIT_RESET		= 0x10,
+	//SIGBOOST_CALL_SETUP_NACK_CKT_START_TIMEOUT	= 0x11,
+	//SIGBOOST_CALL_SETUP_NACK_AUTO_CALL_GAP	= 0x17,
+};
 typedef enum {
 	M3UA_SPAN_SIGNALING_M3UA,
 	M3UA_SPAN_SIGNALING_SS7BOX,
@@ -54,6 +93,14 @@ typedef enum {
 	ZAP_M3UA_RUNNING = (1 << 0)
 } zap_m3uat_flag_t;
 
+typedef struct m3ua_data {
+	m3uac_connection_t mcon;
+	m3uac_connection_t pcon;
+	zio_signal_cb_t signal_cb;
+	uint32_t flags;
+} m3ua_data_t;
+
+
 /*typedef struct mu3a_link {
 	ss7bc_connection_t mcon;
 	ss7bc_connection_t pcon;
@@ -64,8 +111,7 @@ typedef enum {
 
 zap_status_t m3ua_init(zap_io_interface_t **zint);
 zap_status_t m3ua_destroy(void);
-
-
+zap_status_t m3ua_start(zap_span_t *span);