switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, kCODEC, term->u.rtp.codec);
switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, kMEDIATYPE, mg_media_type2str(term->u.rtp.media_type));
-
+ switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "fax_enable_t38", "true");
+ switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "rtp_execute_on_image", "t38_gateway peer nocng");
} else if (term->type == MG_TERM_TDM) {
switch_snprintf(dialstring, sizeof dialstring, "tdm/%s", term->name);
switch_channel_set_variable(channel, kRFC2833PT, szpt);
switch_rtp_set_telephony_event(tech_pvt->rtp_session, pt);
}
+
+ if (compare_var(event, channel, kMODE)) {
+ const char *newmode = switch_channel_get_variable(channel, kMODE);
+ const char *mode = switch_channel_get_variable(channel, kMODE);
+
+ if (!strcmp(newmode, "image")) {
+ switch_channel_set_variable(tech_pvt->channel, "has_t38", "true");
+ switch_channel_set_app_flag_key("T38", tech_pvt->channel, CF_APP_T38);
+ switch_channel_execute_on(tech_pvt->channel, "rtp_execute_on_image");
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Got IMAGE description\n");
+ }
+
+ switch_channel_set_variable(channel, kMODE, newmode);
+ }
+
} else {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Received unknown command [%s] in event.\n", !command ? "null" : command);
}
assert(tech_pvt != NULL);
switch (msg->message_id) {
+ case SWITCH_MESSAGE_INDICATE_UDPTL_MODE:
+ {
+ switch_t38_options_t *t38_options = switch_channel_get_private(tech_pvt->channel, "t38_options");
+ if (!t38_options) {
+ goto end;
+ }
+
+ switch_rtp_udptl_mode(tech_pvt->rtp_session);
+ break;
+ }
+ case SWITCH_MESSAGE_INDICATE_T38_DESCRIPTION:
+ {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "SWITCH_MESSAGE_INDICATE_T38_DESCRIPTION\n");
+ break;
+ }
+ case SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA:
+ {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA\n");
+ break;
+ }
case SWITCH_MESSAGE_INDICATE_DEBUG_AUDIO:
{
if (switch_rtp_ready(tech_pvt->rtp_session) && !zstr(msg->string_array_arg[0]) && !zstr(msg->string_array_arg[1])) {