diff --git a/include/asterisk/monitor.h b/include/asterisk/monitor.h
new file mode 100755
index 0000000000000000000000000000000000000000..206b3b5574c8a3d12b36e4edb39f302cc76cc5cd
--- /dev/null
+++ b/include/asterisk/monitor.h
@@ -0,0 +1,33 @@
+#ifndef _MONITOR_H
+#define _MONITOR_H
+
+#include <stdio.h>
+
+#include <asterisk/channel.h>
+
+struct ast_channel;
+
+//! Responsible for channel monitoring data
+struct ast_channel_monitor
+{
+	struct ast_filestream *read_stream;
+	struct ast_filestream *write_stream;
+	char read_filename[ FILENAME_MAX ];
+	char write_filename[ FILENAME_MAX ];
+	char filename_base[ FILENAME_MAX ];
+	char *format;
+	int (*stop)( struct ast_channel *chan, int need_lock);
+};
+
+/* Start monitoring a channel */
+int ast_monitor_start(	struct ast_channel *chan, const char *format_spec,
+						const char *fname_base, int need_lock );
+
+/* Stop monitoring a channel */
+int ast_monitor_stop( struct ast_channel *chan, int need_lock);
+
+/* Change monitoring filename of a channel */
+int ast_monitor_change_fname(	struct ast_channel *chan,
+								const char *fname_base, int need_lock );
+
+#endif /* _MONITOR_H */