[Freeswitch-svn] [commit] r6227 - freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk
Freeswitch SVN
anthm at freeswitch.org
Mon Nov 12 18:29:07 EST 2007
Author: anthm
Date: Mon Nov 12 18:29:07 2007
New Revision: 6227
Modified:
freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
Log:
add fake iax2
Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c (original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c Mon Nov 12 18:29:07 2007
@@ -332,6 +332,26 @@
return switch_core_session_outgoing_channel(session, "sofia", outbound_profile, new_session, pool);
}
+
+
+
+/* fake chan_iax2 */
+switch_endpoint_interface_t *iax2_endpoint_interface;
+static switch_call_cause_t iax2_outgoing_channel(switch_core_session_t *session,
+ switch_caller_profile_t *outbound_profile,
+ switch_core_session_t **new_session, switch_memory_pool_t **pool);
+switch_io_routines_t iax2_io_routines = {
+ /*.outgoing_channel */ iax2_outgoing_channel
+};
+
+static switch_call_cause_t iax2_outgoing_channel(switch_core_session_t *session,
+ switch_caller_profile_t *outbound_profile,
+ switch_core_session_t **new_session, switch_memory_pool_t **pool)
+{
+ return switch_core_session_outgoing_channel(session, "iax", outbound_profile, new_session, pool);
+}
+
+
#define WE_DONT_NEED_NO_STINKIN_KEY "true"
static char *key()
{
@@ -367,9 +387,17 @@
sip_endpoint_interface->interface_name = "SIP";
sip_endpoint_interface->io_routines = &sip_io_routines;
- for (x = 0; x < 10; x++) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Avoiding Deadlock.\n");
- switch_yield(100000);
+
+ /* fake chan_iax2 facade */
+ iax2_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE);
+ iax2_endpoint_interface->interface_name = "IAX2";
+ iax2_endpoint_interface->io_routines = &iax2_io_routines;
+
+ if (getenv("FAITHFUL_EMULATION")) {
+ for (x = 0; x < 10; x++) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Avoiding Deadlock.\n");
+ switch_yield(100000);
+ }
}
/* indicate that the module should continue to be loaded */
More information about the Freeswitch-svn
mailing list