From 1437a7255da9e8fbcd337ba7f1f915aa7ab133d2 Mon Sep 17 00:00:00 2001
From: Matthew Fredrickson <creslin@digium.com>
Date: Thu, 12 Jan 2006 17:14:58 +0000
Subject: [PATCH] More changes to make t.38 support work

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 asterisk.c               |  6 ++++++
 channel.c                |  3 +++
 include/asterisk/frame.h | 12 ++++++++++--
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/asterisk.c b/asterisk.c
index b2ab024611..7a5649b891 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -100,6 +100,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/pbx.h"
 #include "asterisk/enum.h"
 #include "asterisk/rtp.h"
+#if defined(T38_SUPPORT)
+#include "asterisk/udptl.h"
+#endif
 #include "asterisk/app.h"
 #include "asterisk/lock.h"
 #include "asterisk/utils.h"
@@ -2319,6 +2322,9 @@ int main(int argc, char *argv[])
 		exit(1);
 	}
 	ast_rtp_init();
+#if defined(T38_SUPPORT)
+	ast_udptl_init();
+#endif
 	if (ast_image_init()) {
 		printf(term_quit());
 		exit(1);
diff --git a/channel.c b/channel.c
index 54027e457e..14b95bc582 100644
--- a/channel.c
+++ b/channel.c
@@ -3274,6 +3274,9 @@ static enum ast_bridge_result ast_generic_bridge(struct ast_channel *c0, struct
 		    (f->frametype == AST_FRAME_VIDEO) || 
 		    (f->frametype == AST_FRAME_IMAGE) ||
 		    (f->frametype == AST_FRAME_HTML) ||
+#if defined(T38_SUPPORT)
+		    (f->frametype == AST_FRAME_MODEM) ||
+#endif
 		    (f->frametype == AST_FRAME_TEXT)) {
 			if (f->frametype == AST_FRAME_DTMF) {
 				if (((who == c0) && watch_c0_dtmf) ||
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index ca8397e0ff..7331746bb1 100644
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -145,8 +145,16 @@ struct ast_frame {
 /*! Comfort Noise frame (subclass is level of CNG in -dBov), 
     body may include zero or more 8-bit quantization coefficients */
 #define AST_FRAME_CNG		10
-/*! T.38 Fax-over-IP data stream */
-#define AST_FRAME_T38		11
+#if defined(T38_SUPPORT)
+/*! Modem-over-IP data streams */
+#define AST_FRAME_MODEM		11
+
+/* MODEM subclasses */
+/*! T.38 Fax-over-IP */
+#define AST_MODEM_T38		1
+/*! V.150 Modem-over-IP */
+#define AST_MODEM_V150		2
+#endif
 
 /* HTML subclasses */
 /*! Sending a URL */
-- 
GitLab