summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asterisk.c6
-rw-r--r--channel.c3
-rw-r--r--include/asterisk/frame.h12
3 files changed, 19 insertions, 2 deletions
diff --git a/asterisk.c b/asterisk.c
index b2ab02461..7a5649b89 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 54027e457..14b95bc58 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 ca8397e0f..7331746bb 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 */